gulp-uglify 不起作用

gulp-uglify doesn`t work

我希望任务 'js' 获取目录中的 .js(而不是 .min.js)文件,将其 uglify 并以后缀“.min”将它们放在同一目录中,但它不会`不处理目录中的许多文件,我的任务:

gulp.task('js', function(cb) {
    pump([
            gulp.src(['js/*.js', '!js/*.min.js']),
            uglify(),
            rename({suffix: '.min'}),
            gulp.dest('js/signup/' + pathDist)
        ],
            cb
        );
 });

&我的'watch'任务:

gulp.task('watch', ['js'], function() {
    gulp.watch(['js/*.js', '!js/*.min.js'], ['js']);
});

gulpfile.js:

var gulp            = require('gulp'), // Подключаем Gulp
    cssnano         = require('gulp-cssnano'), // Подключаем пакет для минификации CSS
    concat          = require('gulp-concat'), // Подключаем gulp-concat (для конкатенации файлов)
    rename          = require('gulp-rename'), // Подключаем библиотеку для переименования файлов
    uglify          = require('gulp-uglifyjs'), // Подключаем gulp-uglifyjs (для сжатия JS)
    del             = require('del'), // Подключаем библиотеку для удаления файлов и папок
    imagemin        = require('gulp-imagemin'), // Подключаем библиотеку для работы с изображениями
    pngquant        = require('imagemin-pngquant'), // Подключаем библиотеку для работы с png
    autoprefixer    = require('gulp-autoprefixer'), // Подключаем библиотеку для автоматического добавления префиксов
    cache           = require('gulp-cache'), // Подключаем библиотеку кеширования
    svgmin          = require('gulp-svgmin'), //Подключаем svgmin
    open            = require('gulp-open'), // Подключаем библиотеку открытия файлов
    bulkSass        = require('gulp-sass-bulk-import'), // импорт путей в Sass
    pump            = require('pump'),
    sass            = require('gulp-sass'); //Подключаем Sass пакет

package.json:

"dependencies": {
    "del": "^2.2.0",
    "pump": "^1.0.1",
    "gulp": "^3.9.1",
    "gulp-autoprefixer": "^3.1.0",
    "gulp-cache": "^0.4.5",
    "gulp-concat": "^2.6.0",
    "gulp-cssnano": "^2.1.2",
    "gulp-imagemin": "^3.0.3",
    "gulp-open": "^2.0.0",
    "gulp-rename": "^1.2.2",
    "gulp-sass": "^2.2.0",
    "gulp-sass-bulk-import": "^1.0.1",
    "gulp-svgmin": "^1.2.2",
    "gulp-uglifyjs": "^0.6.2",
    "imagemin-pngquant": "^5.0.0"
  }

目录有 5 个文件 .js,5 个文件 .min.js & 1 个 .php; 任务获取目录中的第一个文件 .js,使用它并停止... 我如何处理目录中的多个文件?

问题是 gulp-uglifyjs 丑化 自动缩小 - 所以你所有的 js 文件都在处理,但只输出一个(连接的)文件。生成的文件与第一个源文件同名,所以乍一看好像只处理了第一个文件。

因此,gulp-uglifyjs has been deprecated: "This plugin has been blacklisted as it relies on Uglify to concat the files instead of using gulp-concat,打破了 'It should do one thing' 范式。

gulp-uglifyjs 确实有效。但是如果你想确保丑化后的文件单独输出,使用gulp-uglify。我敢打赌你已经知道如何做到这一点,但我会解释以防它帮助其他人

  1. 通过命令行,更改您的 package.json 以便您使用 gulp-uglify:
$ cd your-main-project-directory
$ npm uninstall -S gulp-uglifyjs
$ npm install -S gulp-uglify
  1. 在您的 gulpfile.js 中,将 "uglify" var 定义为 uglify = require('gulp-uglify') 而不是 uglify = require('gulp-uglifyjs')