2016-08-31 15 views
0

私は、開発と生産のために2つの異なる出力に自分の鳴き声をコンパイルする方法を見ています。私はこれを達成するために、次の方法を採用することでこれを達成できました。https://coderwall.com/p/gqqfgw/sass-compass-compile-two-different-files-for-development-and-production-environment-take-2どのようにCSSの開発版とプロダクション版をコンパイルするためにサスを取得するには?

私は出力の内容が異なっている必要があります。私の開発版では、私はイメージへのローカルパスが必要ですが、私はCMSのために私はcssで参照される任意のファイル(画像、フォントなど)を使用しているタグ(CMSに固有)に変換する必要があります。

私はそうのようなSASSファイルで変数を使用することにより、それらの間で切り替えることができました:

@if $output == dev { 
     background: #FFFFFF url('../images/this-is-my-local-image.jpg') 0 0 repeat-x; 
    } @else { 
     background: #FFFFFF url('<IMG type="media" id="216155" formatter="path/*"/>') 0 0 repeat-x; 
    } 

私は両方のバリエーションでファイルを出力することができるようにする方法が必要ですが移動することなく毎回$出力変数を変更してください。

私はconfig.rbファイルの変数を使って読んだことがありますが、私が必要としていることを達成する方法を知ることができません。

右のアドバイスやポイントは大歓迎です。

ありがとうございました。

答えて

0

コンパイルされる2つの専用出力ファイルを作成しないでください。

dev.scss

$output = 'dev' 
@include your files 

prod.scss

$output = 'prod' 
@include your files 

だから、あなただけ生成されたファイルを切り替えることがあります。

+0

ありがとう、ちょうど私が探していたもの。私のプロダクションバージョンを圧縮したいのであれば、私の開発版はconfig.rbファイルを使って行う必要はありませんか? – eh21

+0

よく分かっていますが、分かりやすく醜く見てください –

+0

コンパイルするにはコンパニオンはconfig.rbファイルでフォルダを監視し、output_styleの設定は圧縮されたバージョンに設定します。 – eh21

0

devとproductionのために別のsassファイルを作成する方法があります。新しいファイルでは、$outputの値をそれぞれdevprodに設定して、次の行に定義されているすべてのCSSがあるsassファイルをインポートできます。生成された出力CSSは、それぞれのファイルで定義された変数値を使用します。

+0

私のプロダクションバージョンを圧縮したいが、私の開発版はconfig.rbファイルでやっていけないと思ったら? – eh21

関連する問題