我需要使用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时,只需复制文件并且不进行注入。知道可能出现什么问题吗?
答案 0 :(得分:1)
我用这个解决了我的问题:
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