Глоток не просматривается

#javascript #gulp #gulp-watch

#javascript #глоток #глоток-смотреть

Вопрос:

Итак, рассмотрим следующий файл gulp:

 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, если я внесу правку и сохраню файл, терминал не обновляется, чтобы сообщить, что он создает движок или примеры.

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

введите описание изображения здесь

Что я делаю не так, чтобы он фактически не перекомпилировался при ЛЮБОМ изменении файла JS?

Комментарии:

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

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

3. Ну, это немного агрессивно. OSX поддерживает события NFS, так что все в порядке. Обратите внимание, как Gulp обрабатывает глобусы, но вы также можете попробовать использовать **/*.js или src/**/*.js .

Ответ №1:

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

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

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