Browserify,是否可以将常用模块捆绑到单独的文件中?

时间:2016-08-26 11:15:28

标签: javascript node.js gulp browserify babeljs

我在我的网络应用中使用了Browserify + Babel + Gulp。当我捆绑脚本时,我只是将所有内容捆绑到单个文件中。当我检查文件大小时,它超过3MB,我认为它太多了。

我不知道Babel和Browserify如何改变我的来源,但如果可能的话,我想分开常见的模块(比如通过NPM安装),所以如果这是一个好的方法,请分别加载浏览器文件。

将单个JS文件分成多个小脚本是一种好方法吗?还有一种方法可以使用Browserify + Babel + Gulp吗?

当我使用捆绑我的脚本时,这是我的gulp任务:

gulp.task('script', () => {
    return browserify({
        entries: [`${SRC_PATH}/js/app.js`],
        paths: ['./node_modules', './src/js']
    })
    .transform(babelify, { 
        presets: ["es2015", "react", "stage-0"],
        plugins: [
            "transform-runtime",
            "transform-decorators-legacy",
            "transform-async-to-generator"
        ]
    })
    .transform(browserifyCss, { global: true })
    .bundle()
    .pipe(source('app.js'))
    .pipe(buffer())
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest(`${BUILD_PATH}/js`));
});

1 个答案:

答案 0 :(得分:0)

我通过创建另一个任务来单独构建常用模块来解决这个问题。