Gulp 附加到文件,而不是覆盖
Gulp appending to files, not overwriting
我正在尝试通过 Babel 将我的 JS 文件和 运行 它们连接起来用于一个新项目,但是我的 gulpfile 并没有覆盖每个任务的目标文件 运行,而是仅将更改附加到文件。所以我的目标文件最终看起来像这样:
console.log('hello');
//# sourceMappingURL=app.js.map
console.log('goodbye');
//# sourceMappingURL=app.js.map
我错过了什么?下面是我的 gulpfile。
提前致谢。
var gulp = require('gulp');
var sourcemaps = require("gulp-sourcemaps");
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var babel = require('gulp-babel');
var browserSync = require('browser-sync').create();
var reload = browserSync.reload;
gulp.task('js', function(){
return gulp.src("./app/js/*.js")
.pipe(sourcemaps.init())
.pipe(concat("app.js"))
.pipe(babel())
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("./app/js/"));
});
gulp.task('js-reload', ['js'], reload);
gulp.task('serve', ['js'], function() {
browserSync.init({
server: "./app"
});
gulp.watch("./app/js/*.js").on('change', ['js-reload']);
gulp.watch("./app/*.html").on('change', reload);
});
gulp.task('default', ['js', 'serve']);
您正在读取和写入同一个目标目录。因此首先读取文件 app.js,向其中添加一些内容,然后将结果写入 app.js,导致此附加行为。您应该输出到与您正在阅读的目录不同的目录。
我正在尝试通过 Babel 将我的 JS 文件和 运行 它们连接起来用于一个新项目,但是我的 gulpfile 并没有覆盖每个任务的目标文件 运行,而是仅将更改附加到文件。所以我的目标文件最终看起来像这样:
console.log('hello');
//# sourceMappingURL=app.js.map
console.log('goodbye');
//# sourceMappingURL=app.js.map
我错过了什么?下面是我的 gulpfile。
提前致谢。
var gulp = require('gulp');
var sourcemaps = require("gulp-sourcemaps");
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var babel = require('gulp-babel');
var browserSync = require('browser-sync').create();
var reload = browserSync.reload;
gulp.task('js', function(){
return gulp.src("./app/js/*.js")
.pipe(sourcemaps.init())
.pipe(concat("app.js"))
.pipe(babel())
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("./app/js/"));
});
gulp.task('js-reload', ['js'], reload);
gulp.task('serve', ['js'], function() {
browserSync.init({
server: "./app"
});
gulp.watch("./app/js/*.js").on('change', ['js-reload']);
gulp.watch("./app/*.html").on('change', reload);
});
gulp.task('default', ['js', 'serve']);
您正在读取和写入同一个目标目录。因此首先读取文件 app.js,向其中添加一些内容,然后将结果写入 app.js,导致此附加行为。您应该输出到与您正在阅读的目录不同的目录。