我的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; };
问题是,它生成多个辅助方法的实现,如
concat
如何让它识别出这些实现已经编译好了?
原因显然是编译好的JavaScript在编译后连接。如果在编译之前将CoffeeScript连接起来,可以避免这种情况。如果这不是我遗漏的grunt-contrib-coffee的配置选项,我将在github上提交一个问题。
所以剩下的问题是:如何在编译之前连接CoffeeScript,以避免多个帮助器实现?
有一种解决方法,涉及使用{{1}}任务手动连接源文件。这需要一个临时文件,然后可以从CoffeeScript编译为JavaScript。它在grunt-contrib-coffee中提到。
将来,任务可以将他们的东西作为缓冲区传递给彼此(参见issue I created)。
答案 0 :(得分:1)
从grunt-contrib-coffee-0.6.1开始,这适用于join
选项:
coffee:
compile:
files:
'public/assets/application.js': [
'multiple/files' #, ...
]
options:
bare: true
join: true # concatenate coffee files before compiling. default is false