javascript - grunt-newer 不使用 grunt-sass

标签 javascript node.js sass gruntjs libsass

<分区>

我正在尝试使用 grunt-newer 获取对我的 sass partials 的更改,然后运行 ​​grunt-sass 任务。出于某种原因,它似乎没有注册任何更新。啊!

示例目录结构:

sass
    - components
        _breadcrumb.scss
    - helpers
        _variables.scss
    main.scss

Sass 配置:

files: [{
    expand: true,
    cwd: 'static/sass',
    src: ['*.scss'],
    // src: ['**/*.scss'],
    dest: 'static/styles',
    ext: '.css'
}]

main.scss 包含用于读取部分的@imports。

运行 grunt newer:sass 将查找对 main.scss 的更改。更新 globbing 规则以使用 **/*.scss 根本不会在任何文件中获取任何更改。

这感觉像是一个问题,但我无法破解它。

如有任何帮助,我们将不胜感激。

最佳答案

参见 grunt-newer page ,特别是页面末尾的“覆盖”部分。这就是要走的路。

grunt.config('newer', {
  options: {
    override: function (detail, include) {
      if (detail.task == 'sass') {
        if (detail.path.match('^sass/includes/')) {
          include(true);
        }
        else {
          include(false);
        }
      }
      else {
        include(false);
      }
    }
  }
});

(不要忘记调整和扩展 ^sass/includes/ 到你的文件树)

我还不能 100% 确定这是否每次都会扫描该文件夹中的所有文件,无论它们是否“较新”,但是......

关于javascript - grunt-newer 不使用 grunt-sass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31852333/

相关文章:

javascript - 如何合并多个多维JSON文件?

node.js - npm install oracledb 给出错误 : Cannot find $OCI_LIB_DIR/libclntsh. dylib

node.js - 我的数据库未在 Sequelize 中更新

sass 不创建 css 文件

css - 这个 SCSS 函数的语法不正确吗?未定义的操作错误 :

javascript - JavaScript 中的正则表达式至少包含一个字符(包括特殊字符)

javascript - insertAdjacentHTML 有问题吗?

node.js - 环回到多个静态文件的子域路由( Angular 应用程序)

codeigniter - 带有 Codeigniter 的 SASS

javascript - 跳出 Javascript 循环