我有一个节点应用程序,其结构如下:
app.coffee -> routes -> controller -> service -> redis
在我的服务层的某个地方,我遇到了这样的错误:
if err?
callback err
else if uid?
user =
uid: uid
username: username
callback null, user # <- indentation is wrong
else
callback null, null
看到第 7 行的回调调用了吗?它比它应该缩进一个标签。这是我运行应用程序时收到的信息:
> coffee app.coffee
app.coffee:15:24: error: unexpected TERMINATOR
routes app
^
上提到app.coffee
的与源文件不匹配的行是这样的:
app.use app.router
routes = require './conf/routes'
routes app
我花了很长时间和很大的意志力才找到原因。同样,该错误位于应用程序下方的 3 层,即服务层。但是错误上没有提到下落,只是有一个unexpected TERMINATOR
存档app.coffee
。
我对coffeescript 和node.js 还是很陌生,所以我的问题是,当您遇到这样的错误消息并且原因远在千里之外时,经验丰富的coffeescripters 或noders 将如何处理?也许有一些最佳实践或方法可以跟踪此类错误?还是从一开始就阻止它?