如何在不使用“require”的情况下使用gulp创建一个bundle

时间:2016-05-10 20:16:21

标签: angularjs gulp bundle browserify

感谢阅读。我是新来的,所以如果它是一个愚蠢的问题,请道歉。我有一个AngularJS项目,具有以下文件夹结构:

app/
 app.js
 modules/
  mod1/
   index.js
   mod1.js
   another.js
  mod2/
    ... same structure as mod1

要使用browserify创建一个包,我使用的是:

gulp.task('bundle', function() {
  return browserify('app/app.js')
        .bundle()
        .pipe(vinylSource('bundle.js'))
        .pipe(gulp.dest('public/js'));
});

为了完成这项工作,我已经包含了require('mod1').. require('another')等等。

我总是要确保我需要使用我需要使用的脚本。

我的目标是创建一个包,其中包含从app.js开始的app文件夹中的所有javascript文件,而不会遇到依赖冲突,而且我没有编写require('somefile')。

1 个答案:

答案 0 :(得分:1)

你可以通过使用gulp-concat插件来获得它。

您只需指定要搜索的路径。因为你正在使用angular并且需要在其他所有之前定义的模块,所以我首先添加应用程序,然后添加所有模块定义,然后添加剩余的指令和控制器等。

var gulp = require('gulp');
var concat = require('gulp-concat');

gulp.task('app-js', function() {
    return gulp.src([
      './app/app.js',
      './app/**/mod*.js',
      './app/**/*.js',
    ])
    .pipe(concat('bundle.js'))
    .pipe(gulp.dest('public/js'))
});