我刚刚开始学习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代码时没有得到任何输出?先感谢您!
{ "cmd": ["node","$file"] }
在Windows中最适合我,它在sublime窗口中显示输出。尽管我不知道如何在升华后停止服务器,但是我必须搜索并杀死节点进程。
另外,检查节点是否在您的PATH中;)
希望对你有效。