如何在gulp的一个函数中连接多个js文件



我需要使用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

相关内容

  • 没有找到相关文章

最新更新