我有一个Gruntfile.coffee
有一个grunt-contrib-咖啡 https://github.com/gruntjs/grunt-contrib-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; };
如何让它认识到这些实现已经编译了?
Update 1
原因显然是编译后的 JavaScript 被串联起来after它被编译了。如果将 CoffeeScript 连接起来,就可以避免这种情况before编译它。如果这不是一个配置选项grunt-contrib-咖啡 https://github.com/gruntjs/grunt-contrib-coffee我错过了,我会在 github 上提交一个问题。
所以剩下的问题是:如何在编译之前连接 CoffeeScript,以避免多个辅助实现?
Update 2
有一个解决方法,涉及将源文件与concat
任务。这需要一个临时文件,然后可以将其从 CoffeeScript 编译为 JavaScript。中提到了我创建的问题 https://github.com/gruntjs/grunt-contrib-coffee/issues/51.
将来,任务将能够将其内容作为缓冲区相互传递(请参阅issue https://github.com/gruntjs/grunt-contrib-coffee/issues/51).
从 grunt-contrib-coffee-0.6.1 开始,这适用于join
option:
coffee:
compile:
files:
'public/assets/application.js': [
'multiple/files' #, ...
]
options:
bare: true
join: true # concatenate coffee files before compiling. default is false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)