javascript - Sublime Text 2 中的 Node.js 构建系统

标签 javascript node.js sublimetext2

我刚开始学习 JavaScript。这样做时,我厌倦了将 JavaScript 代码嵌入 HTML 文档以便在浏览器中运行。我认为直接在 Sublime 的控制台中运行我的脚本会很好,所以我不必离开编辑器。因此,我试图创建一个 JavaScript 构建系统,因为 Sublime 没有。

我的想法是使用 Node.js 作为 JavaScript 解释器。我用 Linux Mint 的包管理器安装了它。据我所知,它工作得很好。假设我有一个文件 test.js 包含以下 JavaScript 代码行:

console.log("Hello World");

当我运行时

nodejs /path/to/test.js
在我的控制台中,我得到:
Hello World
但是,我不能让它与 Sublime 一起使用。我通过单击Tools/Build System/New Build System 创建了一个新的构建系统。然后我输入了以下几行:
{
    "cmd": ["nodejs", "$file"]
}
据我所知,这一行是以下命令的 JSON 表示:
nodejs /path/to/current/file.ext
就像我说的,如果我在控制台中手动运行它,它工作得很好。如果我在 Sublime 中按 F7(Build 的快捷方式),就会出现 Sublime 的控制台。不过它是空的。

还有一件奇怪的事情。尽管 Sublime 控制台的(不存在的)输出表明构建系统未配置为正确使用 Node.js,但当我不小心尝试运行非 JS 文件(例如Node.sublime-build 文件。这是 Sublime 控制台中显示的输出:

/home/baerenfaenger/.config/sublime-text-2/Packages/User/Node.sublime-build:2
    "cmd": ["nodejs", "$file"]
      ^

module.js:434 var compiledWrapper = runInThisContext(wrapper, filename, true); ^ SyntaxError: Unexpected token : at Module._compile (module.js:434:25) at Object..js (module.js:464:10) at Module.load (module.js:353:32) at Function._load (module.js:311:12) at Array.0 (module.js:484:10) at EventEmitter._tickCallback (node.js:190:39) [Finished in 0.1s with exit code 1]

那么为什么在执行实际的 JavaScript 代码时没有得到任何输出呢?提前谢谢!

最佳答案

{
    "cmd": ["node","$file"]
}

在 Windows 中非常适合我,它在 sublime 窗口中显示输出。虽然我不知道从 sublime 之后如何停止服务器,但我必须搜索并杀死 Node 进程。

另外,检查 Node 是否在您的 PATH 中;)

希望它对你有用。

关于javascript - Sublime Text 2 中的 Node.js 构建系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14427520/

相关文章:

sass - Sublime Text 返回 nul 控制字符

css - 使用文本编辑器展开缩小的 css 文件

javascript - 如何在递归函数中共享返回值?

javascript - 在不向 DOM 添加视频的情况下获取网络摄像头流分辨率?

javascript - Nodejs 请求从服务器返回空正文作为 POST 请求

javascript - 如何让我的音频在 socket.io 中播放?

regex - "(?x::"在Boost regex替换中是什么意思,其中 "x"是数字吗?

javascript - 如何在 Visual Studio Code 中查看 Javascript 中的集合内容?

JavaScript-callback() 与回调

javascript - devDependency 会影响包大小吗?