2016-10-04 1 views
-1

Так рассмотрит следующий глоток файл:Глоток Не похож

var gulp  = require('gulp'); 
var source  = require('vinyl-source-stream'); 
var browserify = require('browserify'); 
var babelify = require("babelify"); 
var watch  = require('gulp-watch'); 

gulp.task('make:engine', function() { 
    return browserify({entries: [ 
     './src/index.js' 
     ]}) 
     .transform("babelify") 
     .bundle() 
     .pipe(source('engine.js')) 
     .pipe(gulp.dest('dist/')); 
}); 

gulp.task('make:example', function() { 
    return browserify({entries: [ 
     './examples/index.js' 
     ]}) 
     .transform("babelify") 
     .bundle() 
     .pipe(source('compiled-example.js')) 
     .pipe(gulp.dest('dist/example/')); 
}); 

gulp.task('watch', ['make:engine', 'make:example'], function(){ 
    return watch('*.js', ['make:engine', 'make:example']); 
}); 

gulp watch выплевывает:

[15:06:01] Using gulpfile ~/Documents/ice-cream-engine/gulpfile.js 
[15:06:01] Starting 'make:engine'... 
[15:06:01] Starting 'make:example'... 
[15:06:03] Finished 'make:example' after 1.57 s 
[15:06:03] Finished 'make:engine' after 1.6 s 
[15:06:03] Starting 'watch'... 

В ЛЮБОМ файле JS, если я делаю редактировать и сохранять файл, терминал Безразлично» t, чтобы сказать, что он делает двигатель или примеры.

каталог проекта выглядит следующим образом:

enter image description here

Что я делаю неправильно таким образом, что он не будет фактически заново скомпилировать на любом изменении JS файл?

+0

Там хороший шанс, что он (по умолчанию) требует NFS (Google это) события, чтобы наблюдать за вместо того, чтобы сканировать все файлы, регулярное выражение соответствует каждые 0.x секунд (что требует гораздо больше процессора). Если ваша ОС (или виртуальная машина) не поддерживает это, вам придется отключить этот параметр. –

+0

@StephanBijzitter Этот ответ не помогает вообще. Я использую MAC OSX, и ваш ответ не предоставляет ничего полезного. – TheWebs

+2

Ну, это немного агрессивно. OSX поддерживает события NFS, поэтому вы там хорошо. Обратите внимание, как Gulp обрабатывает globs, но вы также можете попытаться использовать '**/*. Js' или' src/**/*. Js'. –

ответ

3

Согласно вашему скриншоту, только .js файл, который соответствует glob, который вы прошли до watch, является gulpfile.js.

Если вы хотите посмотреть все .js файлы под src и example каталогов, вы можете использовать следующее:

gulp.task('watch', ['make:engine', 'make:example'], function(){ 
    return watch(['src/**/*.js', 'examples/**/*.js'], ['make:engine', 'make:example']); 
}); 
Смежные вопросы