我需要使用Gulp将所有特定的文件连接到它们相应的函数中,文件夹结构如下:
modules
- header
- document.ready.js
- functions.js
- window.resize.js
- main
- document.ready.js
- functions.js
- window.resize.js
- footer
- document.ready.js
- functions.js
- window.resize.js
最终文件应该是这样的:
//All functions.js files concated.
$(document).ready(function(){
//All document.ready.js files concated.
});
$(window).resize(function(){
//All window.resize.js files concated.
});
有没有人知道如何用Gulp做到这一点?
我到目前为止有这个:
gulp.task('modules', function() {
gulp.src('js/modules/**/document.ready.js')
.pipe(concat('document.ready.js'));
var source = gulp.src('generator/assets/js/document.ready.js', {read: false});
var target = gulp.src('js/modules/modules.js');
target.pipe(inject(source), {starttag: '<!-- inject:head:js -->'})
.pipe(gulp.dest('generator/assets/js'));
});
var目标文件有这样的内容:
$(document).ready(function(){
<!-- inject:head:js -->
<!-- endinject -->
});
当我运行gulp时,文件被简单地复制,而没有进行注入。知道哪里出了问题吗?
我解决了我的问题:
var gfi = require("gulp-file-insert");
gulp.task('modules', function() {
gulp.src('js/modules/**/document.ready.js')
.pipe(concat('document.ready.js'))
.pipe(gulp.dest('generator/assets/js'));
gulp.src('js/modules/modules.js')
.pipe(gfi({
"/* file 1 */": "generator/assets/js/document.ready.js"
}))
.pipe(gulp.dest('generator/assets/js'));
});
要替换文件内容,可以使用gulp-file-insert