原创

CoffeeScript执行报unexpected newline和is not defined错误解决方案

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的检测

~阅读全文-人机检测~

微信公众号“Java精选”(w_z90110),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信