如何在node.js上停止ASI并让它出错?

Nat*_*ate 7 javascript node.js

我知道自动分号注射是一个有争议的问题,但我更愿意,如果我可以在我的node.js服务器上禁用它.

脚本:

var foo = bar()
var baz = foo+1;
Run Code Online (Sandbox Code Playgroud)

结果如下:

[Error] Expected ';' before var on line #2
Run Code Online (Sandbox Code Playgroud)

或类似的东西.

jpi*_*ora 3

正如评论中提到的,ASI 是 EMCAScript 规范的一部分,无法禁用它。

另外,如上所述,JSHint 是一个很好的解决方案,我使用 sublime text 2 和“Sublime Linter”插件,它会在您键入代码时对您的代码进行 lints。

如果你真的想锁定你的服务器,你可以为“node”添加一个别名,它会执行类似“lint file && node file”的操作,这样除非 lint 成功,否则节点不会运行。