Node.js在Sublime Text 2中构build系统
我开始学习JavaScript。 在这样做的时候,我厌倦了将我的JavaScript代码embedded到HTML文档中,以便在浏览器中运行它。 我认为只要在Sublime的控制台中运行我的脚本就好了,所以我不必离开编辑器。 因此,我试图创build一个JavaScript构build系统,因为崇高不附带一个。
我的想法是使用Node.js作为JavaScript解释器。 我将它安装在Linux Mint的软件包pipe理器中。 据我可以说,它工作得很好。 假设我有一个包含以下JavaScript代码的文件test.js :
console.log(“Hello World”);
当我跑步
nodejs /path/to/test.js
在我的控制台中,我得到:
你好,世界
但是,我不认为这与Sublime合作。 我通过点击Tools / Build System / New Build System来创build一个新的Build系统 。 然后我input以下几行:
{ “cmd”:[“nodejs”,“$ file”] }
据我所知,这一行是以下命令的JSON表示:
nodejs /path/to/current/file.ext
就像我说的,如果我在控制台上手动运行它,它工作得很好。 如果我按了F7中的Sublime,这是Build的快捷方式,Sublime的控制台显示出来。 这是空的。
还有一件奇怪的事情 即使Sublime控制台的(不存在的)输出表明构build系统没有被configuration为正确的使用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:意外的标记:
在Module._compile(module.js:434:25)
在Object..js(module.js:464:10)
在Module.load(module.js:353:32)
在Function._load(module.js:311:12)
在Array.0(module.js:484:10)
在EventEmitter._tickCallback(node.js:190:39)
[以0.1s结束,退出代码1] 那么为什么我在执行实际的JavaScript代码时没有得到任何输出呢? 先谢谢你!
{ "cmd": ["node","$file"] }
在Windows中完美地适用于我,并在崇高的窗口中显示输出。 虽然我不知道如何从崇高停止服务器,我必须search并杀死节点进程。
此外,检查节点在您的path;)
希望对你有效。
Mac用户,键入terminal中的which node
。 它输出节点可执行文件的path,大多数情况下是/usr/local/bin/node
。 在Sublime Text中使用以下设置创build一个新的构build系统( Tools > Build System > New Build System
)。
{ "cmd": ["/usr/local/bin/node", "$file"], "selector": "source.js" }
在Ubuntu Linux上testing 使用文件select器如下:
{ "cmd": ["node", "$file"], "selector": "*.js" }
这里是Windows的一个提示,
从这个线程的大部分答案是正确的,但没有一个是完整的,至less没有答案告诉如何杀死现有的节点进程,即使你能够在崇高运行节点。 所以最终如果上述任何一种方法为你工作,你最终会手动杀死节点总是。
以下是我为“Windows”所做的工作:
- 打开Sublime Text,转到“工具” – >“Build System” – >“New Build System”
- 上面会打开一个新文件,粘贴下面的内容,并保存为nodejs.xxx(使用默认扩展名):{“cmd”:[“c:/test.bat”,“$ file”]}
- 创build一个文件(c:/test.bat)并粘贴这个内容(两行):
taskkill / F / IM“node.exe”“c:/ Program Files / nodejs / node.exe”%1
- 保存,切换到崇高文本,select“工具” – >“build立系统” – >“nodejs”
- 打开任何Nodejs可执行文件并按CTRL + B。
- 你很好走。 🙂
享受宁静。
一般
"cmd":["node",$file]
会工作。 但是没有办法停止服务器。 我已经find了最好的解决scheme,在新的控制台打开服务器,并自动closures它。 我也和监督员或节点检查员一起工作
"cmd" : ["start", "cmd.exe", "/C", "node", "$file"]
我希望这会有所帮助
只有当文件存在/保存在磁盘上时,我才能看到控制台输出。 (对于匿名文件,我也没有看到输出)
希望这可以帮助
这在Windows7中为我炒作
1)打开Sublime Text,转到“Tools” – >“Build System” – >“New Build System”
2)粘贴这个文本
{
"cmd": ["C:\\Program Files (x86)\\nodejs\\node","$file"]
}
\逃逸人物
3)保存为Node.sublime-build
4)写一个新的js文件,然后按CTRL + B进行构build。
点击这里查看图像的例子。
可能是依赖于环境variables – 尝试使用完整path而不是“nodejs”。 它在Mac OS上适用于我(例如/ usr / local / node而不是仅仅节点)
如果一切都失败了,请检查Node Supervisor …….您只需要更改代码,服务器将自动重新启动,以便您可以看到更改生活=)
在Windows上,以下configuration工作:
{ "cmd": ["C:\\Program Files\\nodejs\\node.exe", "$file"], "selector": "source.js" }
在Linux上,我使用这个,只要确保你在你的主文件
{ "shell_cmd": "pkill node ; node $file" }