8

Gulp 新手在这里,我下载了 gulp -order用于在连接*.js时订购 js 文件, 因为我的一些 javascript 文件需要先加载jquery 。

下面是我的 gulpfile.js,它有 order、concat、rename 和 uglify。

var date = new Date();
var uniq = date.getTime();

gulp.task('admin-scripts', function() {
    return gulp.src(['assets/admin/js/*.js','!assets/admin/js/respond.min.js','!assets/admin/js/html5shiv.js'])
        .pipe(order([
            "assets/admin/js/jquery.min.js",
            'assets/admin/js/*.js'
        ]))
        .pipe(concat(uniq+'admin.js'))
        .pipe(gulp.dest('build/assets/admin/js/'))
        .pipe(rename(uniq+'admin.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('build/assets/admin/js/'));
});

但似乎订购不起作用。

排序基于字母a.js > z.js而不是jquery.min.js > a.js > z.js

有什么我会在 gulpfile.js 上错误地编码的吗?

4

2 回答 2

10

添加基本​​选项为我修复了它:

.pipe(order([
      'public/js/jquery-1.11.1.min.js',
      'public/js/bootstrap.min.js'
    ], { base: './' }))
于 2016-05-12T00:51:21.520 回答
6

我的 gulp-order 没有正确排序/不工作的问题是因为我输入了错误的路径,路径应该相对于js文件夹:

正确顺序:jquery.min.js

错误的顺序:assets/admin/js/jquery.min.js

var date = new Date();
var uniq = date.getTime();

gulp.task('admin-scripts', function() {
    return gulp.src(['assets/admin/js/*.js','!assets/admin/js/respond.min.js','!assets/admin/js/html5shiv.js'])
        .pipe(order([
            "jquery.min.js",
            '*.js'
        ]))
        .pipe(concat(uniq+'admin.js'))
        .pipe(gulp.dest('build/assets/admin/js/'))
        .pipe(rename(uniq+'admin.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('build/assets/admin/js/'));
});
于 2015-07-16T04:40:17.090 回答