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”所做的工作:

  1. 打开Sublime Text,转到“工具” – >“Build System” – >“New Build System”
  2. 上面会打开一个新文件,粘贴下面的内容,并保存为nodejs.xxx(使用默认扩展名):{“cmd”:[“c:/test.bat”,“$ file”]}
  3. 创build一个文件(c:/test.bat)并粘贴这个内容(两行):

taskkill / F / IM“node.exe”“c:/ Program Files / nodejs / node.exe”%1

  1. 保存,切换到崇高文本,select“工具” – >“build立系统” – >“nodejs”
  2. 打开任何Nodejs可执行文件并按CTRL + B。
  3. 你很好走。 🙂

享受宁静。

下面的链接的方法#2解决了我:

http://www.wikihow.com/Create-a-Javascript-Console-in-Sublime-Text

一般

 "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" }