小编典典

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

node.js

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

我的想法是使用Node.js作为JavaScript解释器。我用Linux Mint的软件包管理器安装了它。据我所知,它工作正常。假设我有一个文件
test.js, 其中包含以下JavaScript代码行:

console.log(“ Hello World”);

当我跑步

nodejs /路径/到/test.js

在控制台中,我得到:

你好,世界

但是,我没有将它与Sublime一起使用。我通过单击“ 工具” /“构建系统” /“新构建系统” 创建了一个新的 构建系统 。然后输入以下几行:

{
    “ cmd”:[“ nodejs”,“ $ file”]
}

据我所知,这一行是以下命令的JSON表示形式:

nodejs /路径/到/当前/file.ext

就像我说的那样,如果我在控制台中手动运行它,就可以正常工作。如果我在Sublime(这是 Build
的快捷方式)中按F7,则会显示Sublime的控制台。虽然是空​​的。

还有另一件事。即使Sublime控制台的输出(不存在)表明构建系统未配置为可以正确地与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 createdWrapper = runInThisContext(wrapper,filename,true);
                        ^
SyntaxError:意外令牌:
    在Module._compile(module.js:434:25)
    在Object.js(模块.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.1秒内完成,退出代码为1]

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


阅读 223

收藏
2020-07-07

共1个答案

小编典典

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

在Windows中最适合我,它在sublime窗口中显示输出。尽管我不知道如何在升华后停止服务器,但是我必须搜索并杀死节点进程。

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

希望对你有效。

2020-07-07