我想要任务' js'在目录中获取.js(& not .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
);
});
&安培;我的手表'任务:
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,使用它&停止... 如何处理目录中的许多文件?
答案 0 :(得分:0)
问题是gulp-uglifyjs
uglifies 和自动缩小 - 因此正在处理所有js文件,但只输出一个(连接的)文件。生成的文件与第一个源文件的名称相同,因此它首先查看只有第一个文件已被处理。
出于这个原因,gulp-uglifyjs
has been deprecated:"此插件已被列入黑名单,因为它依赖于Uglify来连接文件而不是使用gulp-concat
,这会打破'它应该做一件事' 。范例"
gulp-uglifyjs
确实有用。但是,如果要确保单独输出uglified文件,请使用gulp-uglify
。我打赌你已经知道如何做到这一点,但我会解释,以防它帮助其他人
gulp-uglify
:$ cd your-main-project-directory
$ npm uninstall -S gulp-uglifyjs
$ npm install -S gulp-uglify
var
为uglify = require('gulp-uglify')
而不是uglify = require('gulp-uglifyjs')