如何在 gulp-rename 和 gulp-uglify 上以相同路径或目标创建一个 min 文件?
How do I make a min file in the same path or dest on gulp-rename and gulp-uglify?
大家好我希望你今天过得愉快,我正在尝试找到一种方法,如何在同一路径中制作 min
文件或在 [=22= 上制作 gulp.dest()
]gulp(gulp-丑化和gulp-重命名)。在我下面的代码中,当我 运行 我的 gulp 它继续创建 *.min.js
, *.min.min.js
, *.min.min.min.js
等等,除非我停止终端。如何让我的 gulp 在丑化的同时只创建一个 *.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'));
发生这种情况是因为您的 scripts
任务正在将文件输出到与您正在观看的目录相同的目录:
.pipe(gulp.dest('./src/js/'))
和
gulp.watch('./src/js/**.js', gulp.series('scripts'));
因此每次 scripts
运行并保存到该目录时,它会再次触发您的 watch
,从而触发 scripts
,等等
所以要么将您的 .min
保存到您不看的目录中,要么不看 .min
文件。
顺便说一句,更改为 gulp.watch('./src/js/*.js', gulp.series('scripts'));
// 删除了一个星号
gulp.watch(['./src/js/*.js', '!./src/js/*.min.js'], gulp.series('scripts'));
//
可能有效 - 虽然未经测试。
大家好我希望你今天过得愉快,我正在尝试找到一种方法,如何在同一路径中制作 min
文件或在 [=22= 上制作 gulp.dest()
]gulp(gulp-丑化和gulp-重命名)。在我下面的代码中,当我 运行 我的 gulp 它继续创建 *.min.js
, *.min.min.js
, *.min.min.min.js
等等,除非我停止终端。如何让我的 gulp 在丑化的同时只创建一个 *.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'));
发生这种情况是因为您的 scripts
任务正在将文件输出到与您正在观看的目录相同的目录:
.pipe(gulp.dest('./src/js/'))
和
gulp.watch('./src/js/**.js', gulp.series('scripts'));
因此每次 scripts
运行并保存到该目录时,它会再次触发您的 watch
,从而触发 scripts
,等等
所以要么将您的 .min
保存到您不看的目录中,要么不看 .min
文件。
顺便说一句,更改为 gulp.watch('./src/js/*.js', gulp.series('scripts'));
// 删除了一个星号
gulp.watch(['./src/js/*.js', '!./src/js/*.min.js'], gulp.series('scripts'));
//
可能有效 - 虽然未经测试。