为什么这个coffeescript没有运行?

时间:2014-09-16 19:02:22

标签: node.js coffeescript

咖啡test.coffee与此代码

###
#/usr/local/bin/coffee $0
###
console.log 'test'

打印

Running node v0.11.13
/home/user/tst/test.coffee:3
 */usr/local/bin/coffee $0
                        ^^
SyntaxError: Unexpected identifier
  at exports.runInThisContext (vm.js:69:16)
  at Module._compile (module.js:432:25)

但是使用此代码

###
#usr/local/bin/coffee $0
###
console.log 'test'

运行正常

Running node v0.11.13
test

我的咖啡二进制文件位于/ usr / local / bin / coffee但我希望不会涉及此字符串,因为这是一个评论。这是一个错误吗?

1 个答案:

答案 0 :(得分:2)

问题在于您的代码compiles to the following JS code

/*
 */usr/local/bin/coffee $0
 */
console.log('test');

因为Coffee编译会阻止对其JS等效项的注释,替换

###
# block
# comment
###

以其惯用的JS版本

/*
 * block
 * comment
 */

但是,由于您的评论以/开头,因此它会编译为无效的JS。

要解决此问题,只需在#/之间添加空格:

###
# /usr/local/bin/coffee $0
###
console.log 'test'

P.S。:created an issue on CoffeeScript issue tracker根据您的问题。