原创

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),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信