在Sublime Text中运行JavaScript

5

我搜索并找到了一种让JavaScript在SublimeText上运行的方法。步骤如下:

  • Sublime Text > 文件 > 新建文件 > 输入代码: console.log("Hello World");
  • 按下Ctrl + S(保存)> 命名为script.js
  • 安装Node.js

  • Sublime Text > 工具 > 编译系统 > 新建编译系统 > 输入:

    {
     "cmd": ["node", "$file"],
     "selector": "source.js"
    }

  • 将其保存为Node.sublime-build
  • Sublime Text > 工具 > 构建系统 > Node

这个方法很有效,我可以很好地得到控制台结果。 现在我如何使用或引用index.html文件? 更具体地说,我有两个文件:index.html和script.js,我需要在sublime text上运行JS,但是我遇到了“ReferenceError: document is not defined”这样的错误。

var output = document.getElementById('output');


1
在 Node.js 中没有 document 对象,因为它只在浏览器运行时才可用。 - Tsvetan Ganev
1
为什么不直接将文件命名为 script.js,然后在终端中使用 node script.js 执行它呢?另外,我不确定你想做什么,因为 Node 是一种服务器端技术,没有 DOM,也没有元素 ID 可以选择。 - Jeremy Thille
1
我需要在Sublime Text上运行JS。为什么你需要从文本编辑器中运行Javascript呢?文本编辑器的用途是编辑文本,而不是运行javascript。为什么不直接将你的HTML文件拖入浏览器? - Jeremy Thille
非常感谢回复。想法是将所有内容放在一个容器中。我的意思是将index.html和script.js放在一个文件夹中,并使用Sublime Text作为IDE :) - YasserKhalil
1个回答

2

文档对象与Web浏览器中的DOM(文档对象模型)相关。 Node.js是桌面JavaScript运行时环境,它不会提供访问DOM对象的权限。

如果要在Node.js中访问文档对象,可以使用browserify


非常感谢。我是一个初学者,实际上在与browerify相关的链接中迷失了方向。你能指导我如何在我的情况下使用它吗? - YasserKhalil
Browserify(类似于Webpack)是用于浏览器开发的,而不是Node.js。 - user5066707

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接