【发布时间】:2019-08-28 14:46:08
【问题描述】:
我第一次设置 Gulp 使用 NanoCSS 和 gulp-css 将 SCSS 编译为 CSS。 我创建了一个成功编译 SCSS 并缩小 CSS 的 do-sass。 但是,当我将它放在监视任务中时,它不起作用。 如果我更改任何 SCSS 文件,do-sass 命令不会运行。谁能告诉我我做错了什么?
const gulp = require('gulp');
const sass = require('gulp-sass');
const cssnano = require('gulp-cssnano');
gulp.task('sass', function(){
return gulp.src('scss/styles.scss')
.pipe(sass())
.pipe(gulp.dest('./'))
});
// Minifys .css and reload browser.
gulp.task('mini-css', function() {
return gulp.src('styles.css')
.pipe(cssnano())
.pipe(gulp.dest('./'));
});
// Compile and minify css.
gulp.task('do-sass', gulp.series('sass', 'mini-css'));
gulp.task('watch', function(){
gulp.watch('scss/*/.scss', gulp.series('do-sass'));
});
【问题讨论】:
-
也许您的
watch路径不正确?scss/*/.scss让我相信 gulp 会查找嵌套的 SCSS 文件,而不是根目录中的任何文件。如果要定位任何 SCSS 文件,则需要使用scss/**/*.scss -
你的目录结构是什么?为什么要收看
scss/*/.scss?这应该是scss/*.scss吗? -
正如@terry 提到的,我相信它应该是
'scss/**/*.scss' -
@JackBashford 目前它只是一个名为 scss 的文件夹。一个测试文件即可完成所有设置
-
很高兴我能帮上忙。我已将我的评论改写为答案,并附有一些额外的解释:)
标签: javascript npm gulp