我开始学习JavaScript了。在这样做时,我厌倦了将我的JavaScript代码嵌入到HTML文档中,以便在浏览器中运行它。我认为在Sublime的控制台中运行我的脚本会很好,所以我不必离开编辑器。因此我试图创建一个JavaScript构建系统,因为Sublime没有一个。
我的想法是使用Node.js作为JavaScript解释器。我用Linux Mint的包管理器安装它。据我所知它运作得很好。假设我有一个包含以下JavaScript代码行的文件 test.js :
console.log("Hello World");
当我在控制台中运行
nodejs /path/to/test.js时,我得到:
Hello World但是,我不认为这与Sublime一起使用。我通过单击工具/构建系统/新构建系统创建了一个新的构建系统。然后我键入以下行:
{ "cmd": ["nodejs", "$file"] }据我所知,这一行是以下命令的JSON表示:
nodejs /path/to/current/file.ext就像我说的,如果我在控制台中手动运行它,它工作得很好。如果我在Sublime中按F7,这是 Build 的快捷方式,Sublime的控制台就会显示出来。它虽然是空的。
还有另外一件奇怪的事情。即使Sublime控制台的(不存在的)输出指示构建系统未配置为正确使用Node.js,我在意外尝试运行非JS文件时显示了一些Node.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]
答案 0 :(得分:44)
{
"cmd": ["node","$file"]
}
在Windows中完美适用于我,它在sublime窗口中显示输出。虽然我不知道如何在sublime之后停止服务器,但我必须搜索并终止节点进程。
此外,check节点位于PATH中;)
希望它适合你。
答案 1 :(得分:43)
Mac用户,在终端输入which node
。它输出节点可执行文件的路径,在大多数情况下为/usr/local/bin/node
。现在使用Sublime Text中的以下设置创建一个新的构建系统(Tools > Build System > New Build System
)。
{
"cmd": ["/usr/local/bin/node", "$file"],
"selector": "source.js"
}
答案 2 :(得分:7)
在Ubuntu Linux上测试过。使用文件选择器如下:
{
"cmd": ["node", "$file"],
"selector": "*.js"
}
答案 3 :(得分:4)
这是Windows的提示,
此线程的大多数答案都是正确的,但没有一个是完整的,至少没有答案告诉你如何杀死现有的Node进程,即使你能够在sublime中运行节点。因此,如果上述任何一种方法都适用于您,最终您将最终手动终止节点。
以下是我为'Windows'做的事情:
taskkill / F / IM“node.exe” “c:/ Program Files / nodejs / node.exe”%1
享受noding。
答案 4 :(得分:3)
答案 5 :(得分:2)
这适用于Windows7
1)打开Sublime Text,转到"工具" - > "构建系统" - > "新建系统"
2)粘贴此文本
{
"cmd": ["C:\\Program Files (x86)\\nodejs\\node","$file"]
}
\\转义字符
3)另存为Node.sublime-build
4)编写一个新的js文件,然后按CTRL + B进行构建。
点击here查看图片示例。
答案 6 :(得分:1)
通常
"cmd":["node",$file]
会奏效。但是没有办法停止服务器。 我找到了在新控制台中打开服务器的最佳解决方案,并自动关闭它。 我也可以与主管或节点检查员一起工作
"cmd" : ["start", "cmd.exe", "/C", "node", "$file"]
我希望它会有所帮助
答案 7 :(得分:1)
我只能在磁盘上存在/保存文件时才能看到控制台输出。 (对于匿名文件,我也看不到输出)
希望这有帮助
答案 8 :(得分:0)
可能取决于环境变量 - 尝试使用节点的完整路径而不仅仅是“nodejs”。 它在Mac OS上适用于我(例如/ usr / local / node而不仅仅是节点)
答案 9 :(得分:0)
如果所有其他方法都失败了,请检查节点主管.......您只需要更改代码,服务器就会自行重启,这样您就可以看到更改了=)
答案 10 :(得分:0)
在Windows上,以下配置有效:
{
"cmd": ["C:\\Program Files\\nodejs\\node.exe", "$file"],
"selector": "source.js"
}
答案 11 :(得分:0)
我正在使用Windows,并使用以下内容创建了一个新的构建系统:
{
"cmd": ["node", "$file"],
"selector": "source.js",
"working_dir": "${project_path:${folder}}",
"path": "C:\\Program Files\\nodejs"
}
然后在Sublime中运行带有sucessul的JavaScript文件。
我的JavaScript文件具有以下内容:
var a = 10;
var b = 20;
var resultado = a + b;
console.log('resultado:', resultado);
答案 12 :(得分:-1)
在linux上我使用它,只是确保你在主文件上
{
"shell_cmd": "pkill node ; node $file"
}