javascript - Node.js 中不存在的行上的隐形神话意外 token

标签 javascript node.js

所以今天, Node 不运行我的应用程序,因为它在第 219 行发现了意外的 token 。 这是完整的错误日志:

syberic@syberic:~/Web/lotalot$ node app.js
/home/syberic/Web/lotalot/config/passport.js:219
});
 ^

SyntaxError: Unexpected token )
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/home/syberic/Web/lotalot/app.js:22:1)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:141:18)
    at node.js:933:3

问题是,文件passport.js217 行! 这是该文件末尾在 VIM 中的截图: enter image description here 我用其他一些文本编辑器、鼠标垫、gedit 等检查了该文件。但该文件始终有 217 行。当我在文件末尾添加一些空行时,意外标记分别向下移动。这是什么魔法?这怎么会发生?我真他妈的沮丧。

最佳答案

我认为这意味着您的程序中有一个额外的左大括号。在内部,Node 将你的程序文本粘贴到一个函数中,所以在你的文件内容之前有一些额外的字符,在它之后有一个额外的行。我可以使用这个只有一个左括号的单行文件轻松重现这一点:

$ cat foo.js 
{
$ node foo.js
/Users/dap/foo.js:3
});
 ^
SyntaxError: Unexpected token )
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

我建议使用像 javascriptlint 这样的工具来查找额外的左大括号。

关于javascript - Node.js 中不存在的行上的隐形神话意外 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36183119/

相关文章:

javascript - Jquery UI 日期选择器不起作用

Javascript 数组拼接无法正常工作

javascript异常对象格式

Javascript promise 无法按我的预期工作

javascript - 我可以使 BLOB 独立于浏览器工作吗?

java - 交互式甘特图

javascript:重定向到页面?

node.js - 如何使用更新插入行为正确更新文档? (Mongo 漏洞 SERVER-10711)

javascript - 带有扩展拉丁字母的正则表达式 (ä ö ü è ß)

javascript - 如何将此数据更改为 javascript 对象?