我刚开始学习 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"] ^那么为什么在执行实际的 JavaScript 代码时没有得到任何输出呢?提前谢谢!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]
最佳答案
{
"cmd": ["node","$file"]
}
在 Windows 中非常适合我,它在 sublime 窗口中显示输出。虽然我不知道从 sublime 之后如何停止服务器,但我必须搜索并杀死 Node 进程。
另外,检查 Node 是否在您的 PATH 中;)
希望它对你有用。
关于javascript - Sublime Text 2 中的 Node.js 构建系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14427520/