2016-08-29 2 views
2

gulpfile.jsглотка Присматривающего .js файл не работает

'use strict'; 

var gulp = require('gulp'); 
var sass = require('gulp-sass'); 
var browserSync = require('browser-sync').create(); 
var reload  = browserSync.reload; 

gulp.task('serve') 

// Static Server + watching scss/html files 
gulp.task('serve', function() { 

    browserSync.init({ 
     server: "./public" 
    }); 

    gulp.watch('./public/**/*.html').on('change', reload); // worked 
    gulp.watch('./public/**/*.js').on('change', reload); // doesn't work 
}); 

gulp.task('sass', function() { 
    return gulp.src('./public/sass/**/*.scss') 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(gulp.dest('./public/css')) 
    .pipe(reload({stream: true})); 
}); 

gulp.task('sass:watch', function() { 
    gulp.watch('./public/sass/**/*.scss', ['sass']) 
}); 

gulp.task('default', ['serve','sass', 'sass:watch']); 

С выше настройками глотка, мой broswersnyc отлично работает, когда я внести изменения в HTML и Sass файлы, но это не работает для файлов JavaScript ,

Это моя структура папок:

ли это делать с AngularJS? Потому что мой app.js (который находится в моей папке public) состоит из контроллеров AngularJS.

+0

Насколько я могу сказать от скриншота ваш 'app.js' не внесенного в' public' папке. –

+0

Удалить общедоступную информацию в gulpfile –

ответ

0

Если переместить app.js в «общественные/JS» папки он будет работать нормально

gulp.watch('./public/**/*.js').on('change', reload); // doesn't work 

, потому что в проницаемый фрагмент кода вы смотрите на JS-файлы в дочерних папках общественной директории.

вы можете использовать эту линию вместо этого, она может работать

gulp.watch(['./public/**/*.js', './public/*.js']).on('change', reload);