CoffeeScript是一门简洁的构架于JavaScript之上的预处理器语言,可以静态编译成JavaScript,语法主要受ruby和python影响,目前已经为众多rails和nodejs项目采用,下面为大家分享一下在nodejs中使用CoffeeScript遇到的错误以及解决方案。
1)错误异常如下:
E:\work\dev\projects\yoodb.js:1:18: error: unexpected newline
解决方案:
检查是否存在丢失空格,如下代码:
for i in [0..10] console.log "#{i} Welcome: www.yoodb.com!"
执行语句应该在for循环里面开头需要空格,不能和for对齐,否则报错: unexpected newline
2)错误异常如下:
E:\work\dev\projects>coffee yoodb.js ReferenceError: i is not defined at Object.<anonymous> (E:\work\dev\projects\yoodb.js:2:26) at Object.<anonymous> (E:\work\dev\projects\yoodb.js:4:4) at Module._compile (module.js:409:26) at Object.exports.run (C:\Users\yoodb.com-PC\AppData\Roaming\npm\node_modules\coffee-script\lib\coffee-script\coffee-script.js:162:23) at compileScript (C:\Users\yoodb.com-PC\AppData\Roaming\npm\node_modules\coffee-script\lib\coffee-script\command.js:224:29) at compilePath (C:\Users\yoodb.com-PC\AppData\Roaming\npm\node_modules\coffee-script\lib\coffee-script\command.js:174:14) at Object.exports.run (C:\Users\yoodb.com-PC\AppData\Roaming\npm\node_modules\coffee-script\lib\coffee-script\command.js:98:20) at Object.<anonymous> (C:\Users\yoodb.com-PC\AppData\Roaming\npm\node_modules\coffee-script\bin\coffee:7:41) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:139:18) at node.js:974:3
解决方案:
检查是否参数未定义导致报错,这种错误是最常见的容易犯的错误了,注意编写代码时要谨慎操作。
CoffeeScript优点如下:
更少,更紧凑,和更清晰的代码
通过规避和改变对JavaScript中不良部分的使用,只留下精华,让代码减少出错率,更容易维护
在很多常用模式的实现上采用了JavaScript中的最佳实践
CoffeeScript生成的JavaScript代码都可以完全通过JSLint的检测