3

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

示例目录结构:

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

萨斯配置:

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

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

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

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

任何帮助,将不胜感激。

4

1 回答 1

0

请参阅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% 确定这是否每次都扫描该文件夹中的所有文件,无论它们是否“较新”,但......

于 2016-04-12T16:35:16.470 回答