如何在gulp的嵌套目录中捆绑多个文件?

时间:2017-12-13 22:09:13

标签: javascript gulp bundle

我正在使用gulp,我需要做的是将node_modlues文件夹中多个嵌套目录中的所有文件捆绑到public/js/libNamedist/js/libName,以便我可以使用该模块我的客户。

dist 
   js 
node_modules 
   test_library
       file1.js
       file2.js 
       folder1
           file1.js
           file2.js
       folder2
           file3.js
           file4.js         
public
    js 

1 个答案:

答案 0 :(得分:2)

我最近以这种方式解决了类似的任务:

<强>需要:

src / bundle_entrypoint.js(bundle entrypoint):

require('jquery');

// your code

gulpfile:

// init base modules

// additional modules
var source = require('vinyl-source-stream');
var browserify = require('browserify');

// reg build tasks, etc

gulp.task('build-bundle', function() {    
  return browserify({
      entries: 'src/bundle_entrypoint.js',
      debug: true,
      paths: ['./node_modules'],
      cache: {},
      packageCache: {}
    })
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(uglifyOrWhateverYouWant())
    .pipe(gulp.dest('public/js/'))
    .pipe(gulp.dest('dist/js/'));
});

修改

<强>的concat:

gulp.task('build-bundle', function() {    
      return gulp.src(['node_modules/test_library/**/*.js','src/my.js'])
        .pipe(concat('bundle.js'))
        .pipe(uglifyOrWhateverYouWant())
        .pipe(gulp.dest('public/js/'))
        .pipe(gulp.dest('dist/js/'));
    });