Nin*_*Sia 5 javascript angularjs gulp browser-sync
gulpfile.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']);
Run Code Online (Sandbox Code Playgroud)
使用上述gulp设置,当我更改html和sass文件时,我的broswersnyc可以正常工作,但不适用于javascript文件。
这是我的文件夹结构:

它与AngularJS有关吗?因为我app.js(位于我的public文件夹中)由AngularJS控制器组成。
如果您将 app.js 移至“public/js”文件夹,它将正常工作
gulp.watch('./public/**/*.js').on('change', reload); // doesn't work
Run Code Online (Sandbox Code Playgroud)
因为在前面的代码片段中,您正在查看公共目录的子文件夹中的 js 文件。
你可以使用这条线,它可能会起作用
gulp.watch(['./public/**/*.js', './public/*.js']).on('change', reload);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1709 次 |
| 最近记录: |