how to output multiple bundles with browserify and gulp(如何使用 browserify 和 gulp 输出多个包)
问题描述
我有 browserify 捆绑文件,它工作得很好.但是如果我需要生成多个捆绑包怎么办?
I have browserify bundling up files and it's working great. But what if I need to generate multiple bundles?
我想以 dist/appBundle.js 和 dist/publicBundle.js
gulp.task("js", function(){
    return browserify([
            "./js/app.js",
            "./js/public.js"
        ])
        .bundle()
        .pipe(source("bundle.js"))
        .pipe(gulp.dest("./dist"));
});
显然这行不通,因为我只指定了一个输出 (bundle.js).我可以通过像这样重复上述语句来实现这一点(但感觉不对,因为重复):
Obviously this isn't going to work since I am only specifying one output (bundle.js). I can accomplish this by repeating the above statement like so (but it doesn't feel right, because of the repetition):
gulp.task("js", function(){
    browserify([
            "./js/app.js"
        ])
        .bundle()
        .pipe(source("appBundle.js"))
        .pipe(gulp.dest("./dist"));
    browserify([
            "./js/public.js"
        ])
        .bundle()
        .pipe(source("publicBundle.js"))
        .pipe(gulp.dest("./dist"));
});
有没有更好的方法来解决这个问题?谢谢!
Is there a better way to tackle this? Thanks!
推荐答案
我现在没有一个好的环境来测试这个,但我猜它看起来像:
I don't have a good environment to test this in right now, but my guess is that it would look something like:
gulp.task("js", function(){
    var destDir = "./dist";
    return browserify([
        "./js/app.js",
        "./js/public.js"
    ])
        .bundle()
        .pipe(source("appBundle.js"))
        .pipe(gulp.dest(destDir))
        .pipe(rename("publicBundle.js"))
        .pipe(gulp.dest(destDir));
});
我刚刚意识到我误读了这个问题,应该有两个单独的包来自两个单独的 .js 文件.鉴于此,我能想到的最佳选择如下:
I just realized I mis-read the question, there should be two separate bundles coming from two separate .js files. In light of that, the best alternative I can think of looks like:
gulp.task("js", function(){
    var destDir = "./dist";
    var bundleThis = function(srcArray) {
        _.each(srcArray, function(source) {
            var bundle = browserify(["./js/" + source + ".js"]).bundle();
            bundle.pipe(source(source + "Bundle.js"))
                  .pipe(gulp.dest(destDir));
        });
    };
    bundleThis(["app", "public"]);
});
这篇关于如何使用 browserify 和 gulp 输出多个包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 browserify 和 gulp 输出多个包
 
				
         
 
            
        基础教程推荐
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- 如何在特定日期之前获取消息? 2022-01-01
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
						 
						 
						 
						 
						 
				 
				 
				 
				