【问题标题】:Gulp-terser not minfying in orderGulp-terser 没有按顺序执行
【发布时间】:2020-04-11 04:50:56
【问题描述】:

我正在使用 gulp-terser 来缩小 js 文件。我有一个 jquery 文件和一个自定义 js 文件。当我尝试运行任务时,自定义 js 代码位于 jquery 文件的开头。我尝试过使用 gulp-order ,但仍然没有运气。 这是我正在使用的代码:

gulp.task('build-js', function () {
    return gulp.src(["src/js/jquery.min.js","src/js/zinv.js"])
        .pipe(concat('inv.min.js'))
        .pipe(terser())
        .pipe(gulp.dest('./js'));
});

提前致谢。

【问题讨论】:

  • 运行任务时要在开头的jquery文件吗?
  • 正确,inv.min.js需要jquery,所以先需要jquery。
  • 我也试过这个,但没有运气:stackoverflow.com/questions/31370600/…
  • 你试过return gulp.src(["src/js/zinv.js","src/js/jquery.min.js"]) 吗?因为我认为第一个 src 是顺序中的最后一个 :)
  • 是的,我试过了,可惜没用。

标签: javascript gulp terser


【解决方案1】:

我认为你需要切换.pipe(terser()).pipe(concat('inv.min.js'))的位置并调用require()

试试这个:

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

gulp.task('js', function () {
    return gulp.src(["src/js/jquery.min.js","src/js/zinv.js"])
        .pipe(terser())
        .pipe(concat('inv.min.js'))
        .pipe(gulp.dest('js'));
});

gulp.task('default', gulp.series('js'));

然后在您的终端上,导航到保存 gulpfile.js 的目录并输入 gulpgulp js

【讨论】:

    【解决方案2】:

    通过将 tersor 上移一步来实现这一点:

    gulp.task('build-js', function () {
        return gulp.src(["src/js/jquery.min.js","src/js/zinv.js"])
            .pipe(terser())
            .pipe(concat('inv.min.js'))
            .pipe(gulp.dest('./js'));
    })
    

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      • 2019-11-14
      • 1970-01-01
      相关资源
      最近更新 更多