次のようなgrunt-contrib-coffee構成を持つGruntfile.coffee
があります。
coffee:
compile:
files:
'public/assets/application.js': [
'multiple/files' #, ...
]
options:
bare: true
問題は、次のようなヘルパー メソッドの複数の実装が生成されることです。
var __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
これらの実装が既にコンパイルされていることを認識させるにはどうすればよいですか?
更新 1
その理由は明らかに、コンパイルされた JavaScript がコンパイル後に連結されるためです。コンパイルする前にCoffeeScript を連結すると、回避できます。これが私が見逃しているgrunt-contrib-coffeeの設定オプションでない場合は、github に問題を提出します。
残っている問題は、複数のヘルパー実装を回避するために、コンパイルする前に CoffeeScript を連結する方法ですか?
更新 2
concat
ソース ファイルとタスクを手動で連結するという回避策があります。これには、CoffeeScript から JavaScript にコンパイルできる一時ファイルが必要です。私が作成した問題に記載されています。
将来的には、タスクはお互いにバッファとしてそれらのものを渡すことができるようになります (問題を参照してください)。