【发布时间】:2017-07-19 19:54:53
【问题描述】:
我是使用 Gulp 或 Grunt 等任务运行器的新手,我选择使用 Gulp 来自动化我的任务,因为我熟悉 Javascript 语言。
我成功地将我的 .less 文件编译为 .css,我什至写了一个任务来缩小我的 .css 文件。
我想使用 BrowSync 运行 watch 任务,它会自动将 .less 文件编译为 .css,将 .css 编译为 .min.css。
这是我的代码:
gulp.task('minifyCSS', () => {
return gulp.src([
'web/assets/css/*.css',
'!web/assets/css/*.min.css'
])
.pipe(sourcemaps.init())
.pipe(cleanCSS())
.pipe(sourcemaps.write())
.pipe(rename({ suffix: '.min'}))
.pipe(gulp.dest('web/assets/css'));});
gulp.task('less', () => {
return gulp.src('web/assets/less/*.less')
.pipe(less())
.pipe(gulp.dest('web/assets/css'))
.pipe(browserSync.reload({
stream: true
}));});
gulp.task('watchSync', ['less', 'minifyCSS', 'browserSync'] , () => {
gulp.watch('web/assets/less/*.less', ['less']);
});
gulp.task('browserSync', () => {
browserSync.init({
notify: false,
browser: "chrome",
proxy: "localhost/web/app_dev.php",
open: false
});});
browserSync 任务运行良好,但它从未将 .css 编译为 .min.css。但是当我运行“gulp minifyCSS”时,它就完成了这项工作......
我错过了一步吗?谁能帮我解决这个问题? :)
【问题讨论】:
-
你确定 gulp.watch 不需要
return吗? -
我不确定......我知道 gulp.watch 完成这项工作没有回报,但它没有通过 minifyCSS 任务:/
-
你的 gulp.watch 应该调用 minifyCss 而不是 'less' 规则,并且 minifyCss 规则应该要求 'less'。
-
我明白你的意思了!我要试试;)
-
它不起作用我的 .css 已修改但 .min.css 没有改变...我调用 watchSync 这个任务需要 'minifyCss' 并且 minifyCss 规则需要 'less' 我会尝试找到执行任务的正确方法
标签: gulp