-
ID:vspGqQ さんの質問

sass初心者です。
最近sassを使い出したのですが、
コンパイルに時間がかかるようになって困っています。
コンパイル時間を短縮できる施策はありますか?

みんなの回答 4 件

ID:8KGPc2 さんの回答

Gulp でビルド。

ID:vspGqQ

grunt使ってます
gulpの方が早いですかね?

ID:8KGPc2

Gulp 方が圧倒的に早いです。

ID:vspGqQ

圧倒的ですか!? それは興味深いですね。
node-sassを使ってるからでしょうか。
そうだとすればcompass使ってれば色々弊害が出てきそうですね

ID:8KGPc2

Gulp で Sass をビルドする場合のプラグインはいくつかあり、それぞれ特徴があるので、自身の環境にあったものを選択するのがよいと思います。

ID:vspGqQ さんの回答

補足です

コンパイル時間短縮のために以下を試しました。

  • スプライトはgruntを使うようにした
  • compass multipleを試すがエラーでwatchが止まってしまうので利用をやめる
  • c++のlibsassを試すが敷居が高く断念

ID:2GOaQ8 さんの回答

よほど大量のsassを処理しているか、
よほどショボイPCをつかってるか、
sassの実行が正常でないか、
つまり、特殊ケースだと思う。

ID:vspGqQ

PCはそれほど悪いスペックではないです。
sass数は60超えてました
さすがに多すぎでしょうか・・・

ID:nJ67mm

なんでそんなにおおいんだ。。。

ID:/TCN1n

多いにしても、毎回全部コンパイルちゃうでしょうに。他に要因があるかなー。

ID:/gvG9v

Sassファイルが多すぎるのが1番ネックっぽいですね

ID:vspGqQ

そうなんです。毎回全部コンパイルするのが問題です。
そのため書きだされるcssを分けたりしたんですが、
モジュール化しているものが多いので、
結局分けたcssは全てコンパイルされ
逆にコンパイル時間が増えてしまいました。

ID:L3esOi

どのくらいの規模の作ってるの?俺はポータルサイト作ってるけど、モジュール数はせいぜい20~30程度だよ。(1ファイル1000行もいかない)トピ主は倍は行ってるからシステム化しているサイトだろうし、プログラムで読み込むCSSを変えればどうだ?

ID:AhYejn

トピ主です
まさしくシステム入ったポータルサイトです。
モジュールの数は20ファイルほどですが、静的ページも混在してて、レスポシブ対応もあるのでいつの間にか合計60になってました。
モジュール化の時の命名規則にも問題があると見ています。
うまくcssを分ける事ができれば、読み込むcssを変えるのはアリですね。

ID:Cu9lZS さんの回答

gruntでもgulpでもcompass使うと遅くなるよ。
小規模サイトでファイルが少ない場合は気にならないけど、モジュール化しててファイル数が多いなら尚更。
.
自分の場合は、sassだけgulpfileから除外して別でコンパイルしてるけど、そもそもcompassを使わないという選択肢もある。
使ってるのがベンプレ付加やスプライトぐらいだったら、compassに頼らなくても出来るし。

ID:vspGqQ

compassをやめたら劇的に早くなったって記事は良く見ますね。
prefix付けるのはgruntでやってますし
次回はcompassを使わずに組もうと思ってます。
imgのwidth取得できたりグラデは便利なんですけどね

ID:Cu9lZS

gulpのほうが早いって言われてるけど、それでもsassファイル20個程度で、livereload反映までの時間が体感的に0.6秒→20秒くらいになった覚えがある。
.
compassのなかでも画像関連の関数は便利だよね。
sassのテンプレート組みなおすのが面倒で上記の形にしてるけど、本来はタスクランナーで統一したほうがいいだろうなぁ...

最終更新日:2015-03-16 (3,186 views)

関連するトピックス

ページ上部に戻る