Javascript 如何在gulp rename和gulp uglify上在相同路径或dest中创建min文件?
大家好,我希望你们有一个美好的一天,我正在试图找到一种方法,如何在同一路径中创建Javascript 如何在gulp rename和gulp uglify上在相同路径或dest中创建min文件?,javascript,gulp,browser-sync,gulp-uglify,gulp-rename,Javascript,Gulp,Browser Sync,Gulp Uglify,Gulp Rename,大家好,我希望你们有一个美好的一天,我正在试图找到一种方法,如何在同一路径中创建min文件或gulp.dest()ongulp(gulp uglify和gulp rename)。在下面的代码中,当我运行我的gulp时,它会继续创建*.min.js,*.min.min.js,*.min.min.js等等,除非我停止终端。我如何使我的吞咽只创建一个*.min.js,同时创建一个丑陋的。我希望每个人都能帮我做这件事。多谢各位 const gulp = require('gulp'); const br
min
文件或gulp.dest()
ongulp(gulp uglify和gulp rename)。在下面的代码中,当我运行我的gulp时,它会继续创建*.min.js
,*.min.min.js
,*.min.min.js
等等,除非我停止终端。我如何使我的吞咽只创建一个*.min.js
,同时创建一个丑陋的。我希望每个人都能帮我做这件事。多谢各位
const gulp = require('gulp');
const browserSync = require('browser-sync').create();
const rename = require('gulp-rename');
const uglify = require('gulp-uglify');
gulp.task('scripts', function() {
return gulp.src('./src/js/*.js')
.pipe(uglify())
.pipe(rename( {suffix: '.min'} ))
.pipe(gulp.dest('./src/js/'))
.pipe(browserSync.stream());
});
gulp.task('browserSync', function(){
browserSync.init({
server : {
baseDir : './'
}
});
gulp.watch('./src/js/**.js', gulp.series('scripts'));
});
gulp.task('default', gulp.series('scripts', 'browserSync'));
发生这种情况是因为您的
脚本任务正在将文件输出到您正在观看的同一目录:
.pipe(gulp.dest('./src/js/'))
及
因此,每当脚本运行并保存到该目录时,它会再次触发您的监视,从而触发脚本,等等
因此,要么将你的.min
保存到你不看的目录,要么不看.min
文件
顺便说一句,改为gulp.watch('./src/js/*.js',gulp.series('scripts')代码>//删除了一个星号
gulp.watch(['./src/js/*.js',!/src/js/*.min.js'],gulp.series('scripts')代码>//
可能会工作-未经测试。谢谢标记,我只是将我的.pipe(gulp.dest('./src/js/'))
更改为.pipe(gulp.dest('./src/js/min/'))
将我的min文件放在gulp.watch(['./src/js/*.js',!/src/js/*.min.js',',,gulp.series('scripts'))上的不同路径上代码>它仍然在生成*.min.js
等等,但我仍然期待着将我的min文件放在同一个文件夹中。嗨,马克,我只是在玩我的gulpjs.file,因为你提到了这一行gulp.watch(['./src/js/*.js','!/src/js/*.min.js',gulp.series('scripts'))
我想我把它也放到了gulp.src
整行:return gulp.src(['./src/js/*.js','!/src/js/*.min.js'])
并且它可以工作。谢谢你标记这是什么代码>在上/src/js/*.min.js
它是如何工作的?代码
是一个否定指示符-因此这些文件不包括在监视列表中。因此跳过任何.min.js
文件。
gulp.watch('./src/js/**.js', gulp.series('scripts'));