要连接两个文件,它看起来像这样:
concat: {
src: ['common.js','js/app.js'],
dest: 'assets/js/app.js'
}
Run Code Online (Sandbox Code Playgroud)
如果我想将整个文件夹连成一个,它看起来像这样:
concat: {
src: ['dev/*.js','],
dest: 'prod/js/app.js'
}
Run Code Online (Sandbox Code Playgroud)
但是,假设我有一个文件,我想要连接到10或20个其他文件,我希望它们分别连接?换句话说,这就是我要找的东西:
A.js + B.js = AB.js
A.js + C.js = AC.js
A.js + D.js = AD.js
A.js + E.js = AE.js
Run Code Online (Sandbox Code Playgroud)
等等......更具体一点,我可以弄清楚如何按照描述逐个连接文件,但我想弄清楚如何从示例中指定A.js,并将其连接到任何文件中指定的路径.所以我想要的是:
A.js + dev/*.js = AB.js, AC.js, AD.js, AE.js ...
Run Code Online (Sandbox Code Playgroud)
在伪代码中,这就是我想要的:
concat: {
src: ['common.js', 'dev/*.js','], // common.js gets concatenated to each file in this directory
dest: 'prod/js/*.js' // each file in src gets saved separately in dest
}
Run Code Online (Sandbox Code Playgroud)
我很感激任何帮助,我很难找到如何做到这一点的信息
Dmi*_*ich 19
Grunt的内置concat任务(我建议查看源btw)不支持任何类似的东西dest: 'prod/js/*.js',你必须单独指定每个输出目标,这在你的情况下是一种矫枉过正.
最好的办法是编写自己的代码(可能将其包装在自定义任务中),这很简单.这是一个简单的包装多任务.不要保证它的强大和安全使用:)
grunt.registerMultiTask('wrap', 'Wraps source files with specified header and footer', function() {
var data = this.data,
path = require('path'),
dest = grunt.template.process(data.dest),
files = grunt.file.expandFiles(this.file.src),
header = grunt.file.read(grunt.template.process(data.header)),
footer = grunt.file.read(grunt.template.process(data.footer)),
sep = grunt.utils.linefeed;
files.forEach(function(f) {
var p = dest + '/' + path.basename(f),
contents = grunt.file.read(f);
grunt.file.write(p, header + sep + contents + sep + footer);
grunt.log.writeln('File "' + p + '" created.');
});
});
Run Code Online (Sandbox Code Playgroud)
用这样的配置喂它:
wrap: {
html: {
header: '<%= project.partials %>/head.html',
footer: '<%= project.partials %>/footer.html',
src: [
'<%= project.pages %>/index.html',
'<%= project.pages %>/about.html',
'<%= project.pages %>/blog.html'
],
dest: '.' // destination *directory*, probably better than specifying same file names twice
}
}
Run Code Online (Sandbox Code Playgroud)
以防万一我也更新你的小提琴:http://jsfiddle.net/dipish/hKkGX/
| 归档时间: |
|
| 查看次数: |
9454 次 |
| 最近记录: |