2015-02-16 2 views
0

Я определил эту конфигурацию глотка:JS задача продолжает работать все время

var gulp = require('gulp'), 
    minify = require('gulp-minify-css'), 
    sourcemaps = require('gulp-sourcemaps'), 
    concat = require('gulp-concat'), 
    uglify = require('gulp-uglify'), 
    notify = require('gulp-notify'), 
    livereload = require('gulp-livereload'); 

gulp.task('default', ['css', 'js', 'watch']); 

gulp.task('watch', function() { 
    livereload.listen(); 

    gulp.watch('src/AppBundle/Resources/public/css/*.css', ['css']); 
    gulp.watch('src/AppBundle/Resources/public/js/**/*.js', ['js']); 
}); 

gulp.task('css', function() { 
    gulp.src('src/AppBundle/Resources/public/css/*.css') 
     .pipe(sourcemaps.init()) 
     .pipe(minify()) 
     .pipe(sourcemaps.write()) 
     .pipe(gulp.dest('src/AppBundle/Resources/public/css/min')) 
     .pipe(livereload()); 
}); 

gulp.task('js', function() { 
    return gulp.src('src/Sencamer/Resources/public/js/**/*.js') //select all javascript files under js/ and any subdirectory 
     .pipe(sourcemaps.init()) 
     .pipe(concat('sencamer.min.js')) //the name of the resulting file 
     .pipe(uglify()) 
     .pipe(sourcemaps.write()) 
     .pipe(gulp.dest('src/AppBundle/Resources/public/js/min')) 
     .pipe(livereload()); 
}); 

Каждый раз, когда я исполняю файл Глоток с помощью gulp default из консоли я получаю этот выход:

[22:44:40] Using gulpfile /var/www/html/project.dev/gulpfile.js 
[22:44:40] Starting 'css'... 
[22:44:40] Finished 'css' after 7.86 ms 
[22:44:40] Starting 'js'... 
[22:44:40] Starting 'watch'... 
[22:44:40] Finished 'watch' after 22 ms 
[22:44:41] Starting 'css'... 
[22:44:41] Finished 'css' after 1.16 ms 
[22:44:44] Finished 'js' after 3.6 s 
[22:44:44] Starting 'default'... 
[22:44:44] Finished 'default' after 3.58 μs 
[22:44:44] Starting 'js'... 
[22:44:50] Finished 'js' after 6.1 s 
[22:44:50] Starting 'js'... 
[22:45:01] Finished 'js' after 10 s 
[22:45:01] Starting 'js'... 
[22:45:14] Finished 'js' after 14 s 
[22:45:14] Starting 'js'... 
[22:45:31] Finished 'js' after 17 s 
[22:45:32] Starting 'js'... 
[22:45:51] Finished 'js' after 19 s 
[22:45:51] Starting 'js'... 
[22:46:14] Finished 'js' after 23 s 
[22:46:14] Starting 'js'... 
[22:46:42] Finished 'js' after 28 s 
[22:46:42] Starting 'js'... 

Но почему js задача продолжает выполняться все время? Что я здесь делаю неправильно?

Update

Я сделал некоторые изменения в этой строке:

gulp.watch('src/AppBundle/Resources/public/js/*.js', ['js']) 

Но теперь я получил эту ошибку:

events.js:72 
     throw er; // Unhandled 'error' event 
      ^
Error 
    at new JS_Parse_Error (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:189:18) 
    at js_error (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:197:11) 
    at parse_error (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:299:9) 
    at /var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:511:36 
    at Object.next_token [as input] (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:536:36) 
    at next (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:643:25) 
    at subscripts (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:1307:13) 
    at subscripts (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:1288:20) 
    at expr_atom (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:1165:20) 
    at maybe_unary (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:1328:19) 
    at expr_ops (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:1363:24) 
    at maybe_conditional (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:1368:20) 
    at maybe_assign (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:1392:20) 
    at expression (/var/www/html/project.dev/node_modules/uglify-js/lib/parse.js:1411:20) 

Почему? Все еще watch взгляд внутри js/min Справочник?

ответ

2

Вы смотрите свой каталог src/AppBundle/Resources/public/... и внутри задачи, записывающей в него. Поэтому после изменения вы снова запускаете задачу.

Вывод файлов в каталог, где файлы не просматриваются.

+0

Я внес некоторые изменения в свою конфигурацию, но все еще не работает, можете ли вы указать мне правильное направление? Я первый раз использую Gulp – ReynierPM

+0

Вместо 'src/AppBundle/Resources/public/js/min' использовать 'src/AppBundle/Resources/public/js-min', потому что вы просматриваете все файлы внутри js-каталога и всех подкаталогов. –

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