CodeKit编译错误,包括咖啡文件中的JS文件

时间:2013-01-22 21:41:45

标签: javascript coffeescript

我刚开始使用CodeKit并且它到目前为止很棒,但我在CoffeeScript文件中包含JavaScript文件时遇到了麻烦。

在CoffeeScript文件中,我有一行:

# @codekit-prepend './vendor/backbone.js'  

会导致以下错误:

SyntaxError: In /var/folders/t1/h24_m5yx2yq5sjc2jztvh2xr0000gn/T/CodeKitTempFolder.rrBQ5JI7WP7b1dQ/temp.coffee, reserved word "function" on line 27
at SyntaxError (unknown source)
at Lexer.exports.Lexer.Lexer.error (/Users/makala/Downloads/CodeKit.app/Contents/Resources/engines/coffee/lib/coffee-script/lexer.js:682:13)
at Lexer.exports.Lexer.Lexer.identifierToken (/Users/makala/Downloads/CodeKit.app/Contents/Resources/engines/coffee/lib/coffee-script/lexer.js:86:16)
at Lexer.exports.Lexer.Lexer.tokenize (/Users/makala/Downloads/CodeKit.app/Contents/Resources/engines/coffee/lib/coffee-script/lexer.js:33:19)
at Object.exports.compile.compile (/Users/makala/Downloads/CodeKit.app/Contents/Resources/engines/coffee/lib/coffee-script/coffee-script.js:47:32)
at compileScript (/Users/makala/Downloads/CodeKit.app/Contents/Resources/engines/coffee/lib/coffee-script/command.js:182:33)
at fs.stat.notSources.(anonymous function) (/Users/makala/Downloads/CodeKit.app/Contents/Resources/engines/coffee/lib/coffee-script/command.js:152:18)
at fs.readFile (fs.js:176:14)
at Object.oncomplete (fs.js:297:15)

CoffeeScript文件在没有该行的情况下完美编译。

我试图添加的JS文件是直接编译,并且是#34;连接+缩小"。 JS文件由JSHint / Lint检查, 被缩小。

我认为这个错误可能是由于缺少错误抑制(参见" JavaScript和CoffeeScript Imports">"抑制错误"在http://incident57.com/codekit/help.php)。但是"显示错误"复选框在CodeKit应用程序中不可见。

哦,还有一件事,输出的javascript文件包含原始的coffeescript。我不确定这是编辑失败的原因还是结果。

有什么可能导致编译失败的想法?

感谢您寻找:)。

1 个答案:

答案 0 :(得分:2)

  

由于技术原因(变量/函数阴影等),无法直接组合CS和JS文件。您需要做的是创建一个新的Javascript文件,该文件导入(使用prepend / append语句)编译CS文件时生成的OUTPUT文件和要导入的JS文件。

     

然后,每当您保存Coffee文件时,CodeKit都会做正确的事情并重新编译javascript文件。干杯!

来源:Bryan Jones,CodeKit作者