2

私のsassファイルには次の設定があります。

base.scss

@import "colors";
@import "forms";

_colors.scss

$gray: #ccc;

_forms.scss

form {
    background: $gray;
}

css をビルドするために実行grunt sassすると、次のエラーが発生します。

Running "sass:dist" (sass) task
Syntax error: Undefined variable: "$gray".
        on line xx of sass/_forms.scss
  Use --trace for backtrace.
4

2 に答える 2

2

問題は私の sass grunt タスクでしたbase.scss。.

同じ問題を抱えている将来の人々のための修正は次のとおりです。

すべてのファイルの変更を監視したい。

    watch: {
        css: {
            files: './sass/**/*.scss',
            tasks: ['sass']
        }
    }

base.scss他のすべてのファイルが含まれているため、処理のみを行い_foo.scssます (これらは、ベース ファイルを監視するだけで処理されます。

    sass: {
        dist: {
            files: [{
                expand: true,
                cwd: './sass',
                src: ['base.scss'],
                dest: './public/css',
                ext: '.css'
            }]
        }
    },
于 2013-11-10T06:08:35.547 に答える
0

grunt-sassを使用している場合、 「_」sass ファイルを無視するように更新されました。そのreadmeから:

注: 「_」で始まるファイルは、グロビング パターンに一致しても無視されます。これは、予想されるSass の部分的な動作に一致させるために行われます。

grunt-contrib-sassは、リリース v0.6.0 で同じものを導入しました (リリース履歴を参照してください)。

あなたが質問した後、これらのプラグインは両方とも更新されました。

これにより、複数の「ベース」ファイル (個別にコンパイルされる独立した sass ファイル) を持つことができますが、パーシャルはコンパイルされません。

于 2014-12-03T13:06:40.423 に答える