所以我使用gulp.js来管理和自动化一些任务,我有一个特定的任务styles
将我的 scss 文件编译成 css 和另一个使用gulp -connect插件运行服务器,该插件提供 livereload 集成。
我还有一个任务watch
是观察我的变化并触发 livereload。
gulp.task('watch', function () {
gulp.watch([ stylesPath + '/**/*.scss'], ['styles']);
gulp.watch([ scriptsPath + '/**/*.coffee'], ['scripts']);
gulp.watch([
'./app/**/*.html',
'./app/assets/scripts/**/*.js',
'./app/assets/styles/**/*.css'
], connect.reload);
});
这并不总是有效,实际上它的工作次数少于次数。我真的不知道为什么。我的 .coffee 文件具有相同的逻辑,并且对它们非常有效。但不适用于我的 css 文件。
下面是另一个相关的任务。
gulp.task('connect', connect.server({
root: './app',
port: 1337,
livereload: true,
open: {
file: 'index.html',
browser: 'Google Chrome'
}
}));
gulp.task('styles', function () {
gulp.src('.sass-cache').pipe(clean({read:false}));
return gulp.src(stylesPath + '/**/*.scss')
.pipe(sass())
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(gulp.dest(stylesPath));
});