咖啡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但我希望不会涉及此字符串,因为这是一个评论。这是一个错误吗?
答案 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根据您的问题。