mpe*_*pen 11 node.js gruntjs minimatch
我刚刚开始使用Grunt,我正在尝试使用concat任务以特定顺序连接我的文件.这是我得到的:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
separator: ';'
},
dist: {
src: ['www/js/*.js','www/js/main.js','!**/*.{min,pack}.js','!<%= concat.dist.dest %>','!<%= uglify.dist %>'],
dest: 'www/js/<%= pkg.name %>.js'
}
},
Run Code Online (Sandbox Code Playgroud)
我希望通过放www/js/main.js第二个,它会将文件移动到列表的底部,但事实并非如此.
如何在匹配的文件列表上强加一些订单?
Ben*_*Ben 15
您的问题是main.js与第一个模式匹配,因此第二个模式变得多余.这可能看起来像是一种hacky方式,但基本上你必须将它从第一个模式中排除,然后再将它包含在第二个模式中; 像这样:
concat: {
options: {
separator: ';'
},
dist: {
src: ['www/js/*.js', '!www/js/main.js', 'www/js/main.js','!**/*.{min,pack}.js','!<%= concat.dist.dest %>','!<%= uglify.dist %>'],
dest: 'www/js/<%= pkg.name %>.js'
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,使用minimatch模式时,顺序很重要.
我刚刚找到https://github.com/miensol/grunt-concat-in-order.
有了它,您可以创建一个主js文件,您可以在其中指定具有多个@depend表达式的其他javascript文件的顺序.
| 归档时间: |
|
| 查看次数: |
8028 次 |
| 最近记录: |