sass初心者です。最近sassを使い出したのですが、コンパイルに時間がかかるようになって困っています。コンパイル時間を短縮できる施策はありますか?
Gulp でビルド。
grunt使ってますgulpの方が早いですかね?
Gulp 方が圧倒的に早いです。
圧倒的ですか!? それは興味深いですね。node-sassを使ってるからでしょうか。そうだとすればcompass使ってれば色々弊害が出てきそうですね
Gulp で Sass をビルドする場合のプラグインはいくつかあり、それぞれ特徴があるので、自身の環境にあったものを選択するのがよいと思います。
補足です
コンパイル時間短縮のために以下を試しました。
よほど大量のsassを処理しているか、よほどショボイPCをつかってるか、sassの実行が正常でないか、つまり、特殊ケースだと思う。
PCはそれほど悪いスペックではないです。sass数は60超えてましたさすがに多すぎでしょうか・・・
なんでそんなにおおいんだ。。。
多いにしても、毎回全部コンパイルちゃうでしょうに。他に要因があるかなー。
Sassファイルが多すぎるのが1番ネックっぽいですね
そうなんです。毎回全部コンパイルするのが問題です。そのため書きだされるcssを分けたりしたんですが、モジュール化しているものが多いので、結局分けたcssは全てコンパイルされ逆にコンパイル時間が増えてしまいました。
どのくらいの規模の作ってるの?俺はポータルサイト作ってるけど、モジュール数はせいぜい20~30程度だよ。(1ファイル1000行もいかない)トピ主は倍は行ってるからシステム化しているサイトだろうし、プログラムで読み込むCSSを変えればどうだ?
トピ主ですまさしくシステム入ったポータルサイトです。モジュールの数は20ファイルほどですが、静的ページも混在してて、レスポシブ対応もあるのでいつの間にか合計60になってました。モジュール化の時の命名規則にも問題があると見ています。うまくcssを分ける事ができれば、読み込むcssを変えるのはアリですね。
gruntでもgulpでもcompass使うと遅くなるよ。小規模サイトでファイルが少ない場合は気にならないけど、モジュール化しててファイル数が多いなら尚更。.自分の場合は、sassだけgulpfileから除外して別でコンパイルしてるけど、そもそもcompassを使わないという選択肢もある。使ってるのがベンプレ付加やスプライトぐらいだったら、compassに頼らなくても出来るし。
compassをやめたら劇的に早くなったって記事は良く見ますね。prefix付けるのはgruntでやってますし次回はcompassを使わずに組もうと思ってます。imgのwidth取得できたりグラデは便利なんですけどね
gulpのほうが早いって言われてるけど、それでもsassファイル20個程度で、livereload反映までの時間が体感的に0.6秒→20秒くらいになった覚えがある。.compassのなかでも画像関連の関数は便利だよね。sassのテンプレート組みなおすのが面倒で上記の形にしてるけど、本来はタスクランナーで統一したほうがいいだろうなぁ...
みんなの回答 4 件
Gulp でビルド。
補足です
コンパイル時間短縮のために以下を試しました。
よほど大量のsassを処理しているか、
よほどショボイPCをつかってるか、
sassの実行が正常でないか、
つまり、特殊ケースだと思う。
gruntでもgulpでもcompass使うと遅くなるよ。
小規模サイトでファイルが少ない場合は気にならないけど、モジュール化しててファイル数が多いなら尚更。
.
自分の場合は、sassだけgulpfileから除外して別でコンパイルしてるけど、そもそもcompassを使わないという選択肢もある。
使ってるのがベンプレ付加やスプライトぐらいだったら、compassに頼らなくても出来るし。
関連するトピックス