如何调试SyntaxError:意外的INDENT错误?

时间:2013-07-15 16:08:28

标签: node.js coffeescript

我正在通过peepcode表达教程,只是试着跟着并让事情运行,我在运行npm start时遇到以下错误,看起来像coffeescript lib问题,我def不想有了这个杂草,任何关于去哪里的想法?

[jd@mbp ~/Dropbox/node_projects/tutorials/hot_pie]$ npm start

  

application-name@0.0.1 start / Users / jd / Dropbox / node_projects / tutorials / hot_pie   node server.js

/Users/jd/Dropbox/node_projects/tutorials/hot_pie/node_modules/coffee-script/lib/coffee-   script/helpers.js:199
throw error;
      ^
SyntaxError: unexpected INDENT

有什么想法? coffescript是版本"coffee-script": "~1.6.3" 节点为v0.10.13

1 个答案:

答案 0 :(得分:1)

为了调试语法错误,我建议“手动”编译Coffeescript。我发现有时候节点的自动编译会让事情变得困惑而不是帮助。

所以,在你的情况下:

$ coffee --compile server.coffee

现在,这将创建一个server.js文件(您要删除该文件以避免混淆节点)。如果你的coffeescript无效coffee会引发错误。

编辑:

要添加到这个答案,我经常通过以下语法检查整个项目:我复制项目中的所有coffeescript文件。我的Coffescript源文件位于项目中的app/lib/config/test/目录中。我已经创建了一个临时目录,我将所有coffeescript文件复制到其中,然后尝试将它们全部编译。

$ rm -rf temp/*.coffee
$ rm -rf temp/*.js
$ cp app.coffee temp/
$ find test app lib config test  -name "*.coffee" -exec cp \{\} ./temp \;
$ coffee --compile ./temp/