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'));