【问题标题】:grunt-newer not working with grunt-sass [duplicate]grunt-newer 不适用于 grunt-sass [重复]
【发布时间】:2015-10-29 09:35:06
【问题描述】:

我正在尝试使用 grunt-newer 来获取对我的 sass 部分的更改,然后运行 ​​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 的更改。更新通配规则以使用 **/*.scss 不会在任何文件中获取任何更改。

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

任何帮助将不胜感激。

【问题讨论】:

  • 如何运行任务?
  • 我想将它作为并发任务的一部分运行,作为部署的一部分。对于这个测试,虽然我只是独立运行它。更新部分 scss,运行更新并从那里开始
  • 我相信这可能与使用扩展语法有关。见github.com/tschaub/grunt-newer/issues/39#issuecomment-91271470

标签: javascript node.js sass gruntjs libsass


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 2017-03-16
    • 2017-10-15
    • 2013-12-18
    • 2019-04-26
    相关资源
    最近更新 更多