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 に答える