繁体   English   中英

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

[英]Node.js build system in Sublime Text 2

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

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

console.log("Hello World");

当我跑

nodejs /path/to/test.js
在我的控制台中,我得到:
{
    "cmd": ["nodejs", "$file"]
}
但是,我无法将其与 Sublime 一起使用。 . 我通过单击创建了一个新的 然后我输入了以下几行:
  {\n     "cmd": ["nodejs", "$file"]\n }
据我所知,这一行是以下命令的 JSON 表示:
  nodejs /path/to/current/file.ext
就像我说的,如果我在控制台中手动运行它,它工作得很好。 , Sublime's console shows up. 如果我在 Sublime 中按 F7,这是的快捷方式,Sublime 的控制台就会出现。 虽然是空​​的。

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

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

\n\n

模块.js:434\n varcompiledWrapper = runInThisContext(wrapper, filename, true);\n ^\n语法错误:意外标记:\n 在 Module._compile (module.js:434:25)\n 在 Object..js (module.js:464:10)\n 在 Module.load (module.js:353:32)\n 在 Function._load (module.js:311:12)\n 在 Array.0 (module.js:484:10)\n 在 EventEmitter._tickCallback (node.js:190:39)\n [0.1s 内完成,退出代码为 1]

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

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

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

此外,检查节点是否在您的 PATH 中;)

希望对你有效。

Mac 用户,在终端输入which node 它输出节点可执行文件的路径,在大多数情况下是/usr/local/bin/node 现在在 Sublime Text 中使用以下设置创建一个新的构建系统( Tools > Build System > New Build System )。

{   
  "cmd": ["/usr/local/bin/node", "$file"],   
  "selector": "source.js"   
}

在 Ubuntu Linux 上测试。 使用文件选择器,如下所示:

{
  "cmd": ["node", "$file"],
  "selector": "*.js"
}

这是 Windows 的提示,

该线程中的大多数答案都是正确的,但没有一个是完整的,即使您能够在 sublime 中运行 node,至少也没有任何答案说明如何终止现有的 Node 进程。 因此,最终如果上述任何一种方法对您有用,您最终都会手动杀死 Node。

这是我为“Windows”所做的:

  1. 打开 Sublime Text,转到“工具”->“构建系统”->“新建构建系统”
  2. 以上将打开一个新文件,粘贴下面的内容,并将其保存为 nodejs.xxx(使用默认扩展名): { "cmd": ["c:/test.bat","$file"] }
  3. 创建一个文件( c:/test.bat )并将此内容(两行)粘贴到那里:

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

  1. 保存,切换到 Sublime Text 并选择“工具”->“构建系统”->“nodejs”
  2. 打开任何 Nodejs 可执行文件并按 CTRL+B。
  3. 你很高兴去。 :)

喜欢点头。

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

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

这在 Windows7 中对我有用

1) 打开 Sublime Text,转到“工具”->“构建系统”->“新建构建系统”

2) 粘贴此文本

{

"cmd": ["C:\\Program Files (x86)\\nodejs\\node","$file"]

}

\\\\ 转义字符

3)另存为Node.sublime-build

4) 新建一个js文件,按CTRL+B进行build。

单击此处查看图像示例。

一般

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

会工作。 但是没有办法停止服务器比。 我找到了在新控制台中打开服务器并自动关闭它的最佳解决方案。 我也可以与主管或节点检查员一起工作

"cmd" : ["start", "cmd.exe", "/C", "node", "$file"]

我希望它会有所帮助

只有当文件存在/保存在磁盘上时,我才能看到控制台输出。 (对于匿名文件,我也看不到输出)

希望这可以帮助

在 Windows 上,以下配置有效:

{
    "cmd": ["C:\\Program Files\\nodejs\\node.exe", "$file"],
    "selector": "source.js"
}

我正在使用 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);

可能它取决于环境变量——尝试使用节点的完整路径,而不仅仅是“nodejs”。 它在 Mac OS 上对我有用(例如 /usr/local/node 而不仅仅是 node)

如果所有其他方法都失败,请检查节点主管.......您只需要更改代码,服务器将自行重新启动,以便您可以实时看到更改 =)

在 linux 上我使用这个,只要确保你在你的主文件上

{
    "shell_cmd": "pkill node ; node $file"
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM