2015-05-24 1 views
6

Я пытаюсь объединить мои файлы JS и запустить их через Babel для нового проекта, но вместо перезаписи целевого файла при каждом запуске задачи мой gulpfile только добавляет изменения в файл. Итак, мой файл назначения выглядит следующим образом:Gulp, добавляющий файлы, а не переписывание

Что мне не хватает? Ниже мой 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']); 
+0

Если я правильно помню, вы должны добавить '. /' Для перезаписи файлов. –

ответ

1

Вы читаете и пишите в тот же каталог назначения. Поэтому файл app.js сначала читается, к нему добавляются некоторые вещи, а затем результат записывается в app.js, вызывая это добавление. Вы должны выводить в другой каталог, чем вы читаете.

Смежные вопросы