69

ruby compass gem を使用して SCSS をコンパイルすると、エラー メッセージが表示されます。

run: /var/lib/gems/1.8/gems/compass-0.12.2/bin/compass compile
out: unchanged sass/partial/grid.scss
out:     error sass/partial/catalog.scss (Line 5: Undefined variable: "$paragraphFont".)
out:    create css/generated/partial/catalog.css 
out:    create css/generated/partial/base.css 
out: overwrite css/generated/screen.css

私のscreen.scssインポートパーシャルは次のようになります:

@import "partial/base";
@import "partial/catalog";

私のbaseパーシャルでは、$paragraphFont定義されています。

$paragraphFont: 'Lucida Sans', arial;
$regularFontSize: 14px;

そしてcatalog.scss私はそれを使用します:

.product-view #price-block {
    p {
        font-weight: normal;
        font-family: $paragraphFont;
        ....
    }
}

奇妙なことは、css が問題なくコンパイルされ、$paragraphFont正しく入力されていることです。そのため、コンパイラがエラーについて不平を言っている理由がわかりません。

4

4 に答える 4

181

生成する必要のないファイルを生成しています。

  • screen.scss -> screen.css
  • base.scss -> base.css
  • カタログ.scss -> カタログ.css

カタログ ファイルは単独でコンパイルされています。base.scss をインポートしていないため、変数は設定されていません。screen.scss ファイルは、必要な情報をすべてインポートしているため、期待どおりに生成されます。

あなたがしたいのは、パーシャルの名前をアンダースコアで始まるように変更して、パーシャルが独自にコンパイルされないようにすることです。

  • screen.scss -> screen.css
  • _base.scss (未コンパイル)
  • _catalog.scss (未コンパイル)
于 2013-07-31T17:23:41.663 に答える