热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javascriptNode.js中不存在的行上的隐形神话般的意外令牌

因此,今天,node不要运行我的应用程序,因为它在第219行发现了意外的令牌.这是完整的错误日志:syberic@syberic:~/Web/lotalot

因此,今天,node不要运行我的应用程序,因为它在第219行发现了意外的令牌.
这是完整的错误日志:

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. (/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.js有217行!
以下是此文件末尾在VIM中的外观的屏幕截图:

我使用其他一些文本编辑器,鼠标垫,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之类的工具来查找多余的大括号.


推荐阅读
author-avatar
小小贤
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有