【问题标题】:changes made in scss don't work在 scss 中所做的更改不起作用
【发布时间】:2017-03-14 07:10:13
【问题描述】:

当我运行 gulp 时,它会识别在任何 scss 文件中所做的任何更改。它甚至将其缩小为 build 文件夹中的 css 文件夹中的 style.min.css,并且网站在我的本地主机上刷新。

我的问题是,我在 scss 文件中所做的任何更改实际上都没有发生在网站上。如果我在 style.css 文件中进行更改并手动刷新站点,它会使用所做的相同更改进行更新。

gulp.task('sass', function() {
   return gulp.src('./sass/style.scss')
      .pipe(plumber(plumberErrorHandler))
      .pipe(sass())
      .pipe(autoprefixer({
         browsers: ['last 2 versions']
      }))
      .pipe(cssnano())
      .pipe(rename('style.min.css'))
      .pipe(gulp.dest('./build/css'));
});

gulp.task('watch', ['browserSync', 'sass', 'scripts'], function (){
   gulp.watch('./sass/*.scss', ['sass']);
   gulp.watch('./js/*.js', ['scripts']);
});

【问题讨论】:

    标签: javascript sass gulp gulp-sass


    【解决方案1】:

    您正在查看路径 ./sass/*.scss,我假设您在此 ./sass/ 文件夹中有一个子文件夹。

    您的部分文件已导入,因为您可以在编辑主 style.scss 样式表时看到更改。

    问题在于监视任务仅监视名为 sass 的文件夹,但它还必须监视子文件夹及其 .scss 内容。例如:

    gulp.task('watch', ['browserSync', 'sass', 'scripts'], function (){
        gulp.watch('./sass/*.scss', ['sass']);
        gulp.watch('./sass/**/*.scss', ['sass']);
        gulp.watch('./js/*.js', ['scripts']);
    });
    

    /**/ 确保所有子文件夹及其内容也受到关注。

    【讨论】:

    • 我在 ./sass/ 中没有子文件夹,它会导入位于完全相同位置的 _header.scss 等的 project/sass/style.scss。我的 style.css 只是 project/style.css 目前该文件中没有任何内容。我放入 scss 文件中的任何内容都会编译成项目/build/css/style.min.css 中的缩小 css 文件,但这实际上并没有改变我的 wordpress 网站我在 style.css 中编码的任何内容都会改变实际网站当我刷新它时,styles.min.css 中没有任何内容。虽然我觉得应该是这样的?
    • 抱歉,忘记了您所说的“网站在我的本地主机上刷新”的部分,您可以发布名为 browserSync 的 gulp 任务吗?
    • 你知道吗,你能把你的文件夹结构+gulpfile发给我吗? (例如 pastebin)
    • 我无法在 pastebin 上上传文件,我可以通过电子邮件发送给您吗?
    • 好的,邮寄到 mike@duister.me
    猜你喜欢
    • 1970-01-01
    • 2022-11-21
    • 2021-02-13
    • 1970-01-01
    • 2014-06-17
    • 2013-07-10
    • 2023-01-17
    • 2020-08-08
    • 2019-07-05
    相关资源
    最近更新 更多