我试图在Sublime Text 3的构建系统中执行node-dev。node-dev已经在我的路径下:
但是,当我运行这个构建脚本时:
{
"cmd": ["node-dev", "$file"],
"selector": "*.js"
}
我遇到了这个错误,也说明npm在我的路径中。
![npm in path img](https://istack.dev59.com/zgoB6.webp)
我还尝试包含指向node-dev二进制文件夹的"path"变量,但没有起作用。
谢谢任何帮助。
我试图在Sublime Text 3的构建系统中执行node-dev。node-dev已经在我的路径下:
但是,当我运行这个构建脚本时:
{
"cmd": ["node-dev", "$file"],
"selector": "*.js"
}
以下是我在Windows上使用Sublime Text 3成功的解决方法:
{
"shell_cmd": "node ${file}",
"selector" : "source.js"
}
先决条件是已安装node.js
`{
"shell_cmd": "node ${file/ /\\\\ /}",
"selector" : "source.js"
}`
因为Sublime Text否则无法解析文件名中的空格。 - Peteris$file
,因为正如 @Peteris 所指出的那样,它不能正确处理文件名中的空格。这不是 Sublime 的问题;shell_command
被传递给系统进行解释,所以是系统命令处理器有问题。最好使用 node \"$file\"
,这样文件名就会被引用到 shell 中(正则表达式也可以工作,但引用可能更容易解释)。 - OdatNurdSublime Text文档:
https://www.sublimetext.com/docs/build_systems.html
shell
可选。如果为true,则会通过shell(cmd.exe,
bash
...)运行cmd命令。
尝试添加“shell:true”
{
"cmd": ["node-dev", "$file"],
"selector": "source.js",
"windows" : {
"shell": true
}
}
.sublime-build
文件在哪里?它不在\AppData\Roaming\Sublime Text 3\Packages
中。 - Green"cmd": ["node", "$file"]
,而不是node-env
。谢谢。 - daronwolff命令在Sublime Text 3中不正确 :)
以下是将node作为构建系统运行的示例:
{
"shell_cmd": "taskkill /F /IM node.exe & node ${file}"
}
${file}
周围添加一些[转义]引号。如果文件路径中有任何空格,命令将会出错。"shell_cmd": "taskkill /F /IM node.exe & node \"${file}\""
- VictorKilo对于macOS,在Sublime Text 3上,这对我有用:
最初的回答:
{
"cmd": ["node","$file","$file_base_name"],
"working_dir": "${project_path:${folder}}",
"selector":"source.js"
}
我的选择器设置是:
最初的回答:
"selector":"*.js"
而OdatNurd的建议是:
"Original Answer"翻译成"最初的回答"问题在于选择器不正确,它不能匹配文件名,而是匹配语法范围(即它基于使用的语法,而不考虑文件扩展名);将其从
*.js
更改为source.js
应该可以使它正常工作。
{
"selector": "source.js",
"cmd": ["C:\\Program Files\\nodejs\\node", "<", "$file"],
"windows": {
"shell": true
}
}
将此保存为 node.sublime-build 文件。
如需更多信息,您可以参考http://docs.sublimetext.info/en/latest/。
node-dev
的完整路径?例如:["c:\nodejs\bin\node-dev", "$file"]
- vmx