0

私は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ファイルは直接コンパイルされておらず、「連結+縮小」されています。CSファイルはJSHint/Lintによってチェックされておら、縮小されています。

このエラーは、エラー抑制の欠如が原因である可能性があると考えています( http://incident57.com/codekit/help.phpの「JavaScriptとCoffeeScriptのインポート」>「エラーの抑制」を参照)。ただし、「エラーを表示」チェックボックスはCodeKitアプリケーションには表示されません。

ああ、そしてもう1つ、出力されたjavascriptファイルには元のcoffeescriptが含まれています。これがコンパイルの失敗の原因なのか結果なのかわかりません。

コンパイルが失敗する原因について何か考えはありますか?

見てくれてありがとう:)。

4

1 に答える 1

2

技術的な理由(変数/関数のシャドウイングなど)により、CSファイルとJSファイルを直接結合することはできません。必要なのは、CSファイルのコンパイル時に生成されるOUTPUTファイルとインポートするJSファイルを(prepend / appendステートメントを使用して)インポートする新しいJavascriptファイルを作成することです。

その後、Coffeeファイルを保存するたびに、CodeKitは正しいことを行い、javascriptファイルを再コンパイルします。乾杯!

出典:CodeKitの作者であるBryan Jones

于 2013-01-23T02:03:26.440 に答える