gulp 打包requirejs

发布于 2022-09-02 01:15:57 字数 436 浏览 11 评论 0

var gulp=require('gulp');
var optimize=require('amd-optimize');
var concat=require('gulp-concat');
gulp.task('script', function(){
    gulp.src('script/apps/**/*.js')
        .pipe(optimize('city', {
            paths: {
                'event': 'script/modules/event'
            }
        }))
        .pipe(concat('city.js'))
        .pipe(gulp.dest('liuagng'))
});

如果有多个启动文件的话,那应该怎么写配置文件,以上是单个文件打包方式!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

楠木可依 2022-09-09 01:15:57

多编译任务其实就是把多个pipe聚在一起,在所有pipe做完事情的时候调用回调,利用event-stream可以轻松做到这一点。

var fs = require('fs'),
    eventstream = require('event-stream'); // 需要NPM安装event-stream

gulp.task('script', function(){
    var pipes = [];
    pipes.push(
        gulp.src('path/to/your/file/*.js')
            // 你的task的中间部分
            .pipe(concat('city.js')) // concat成为一个文件
            .pipe(gulp.dest('liuagng'))
    );
    pipes.push(
        // 另外一个task
    );
    pipes.push(
        // 第三个task
    );
    // 等等等等
    
    eventstream.merge(tasks)
        .on('end', callback);
});

当然大部分时候我们其实是利用文件夹结构来组织多个类似task的,以browserify为例(amd-optimise也差不多):

var glob = require('glob'); // 需要NPM安装glob
gulp.task('js:compile', function(callback) {
    glob("path/to/your/folder", function(err, files) {
        var tasks = files.map(function(entry) {
            return browserify({
                    entries: [entry]
                })
                .bundle()
                .on('error', callback)
                .pipe(source(entry))
                .pipe(gulp.dest('dist/resource/js'));
        });
        eventstream.merge(tasks)
            .on('end', callback);
    });
});
深海夜未眠 2022-09-09 01:15:57

gulp读取静态文件时候可以传参数组吧。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文