2016-08-15 24 views
0

私がのファイルをコンパイルするのに使用しているnode-sass-middlewareから、ファイルが要求が提供されるたびに.cssファイルから再コンパイルされます。node-sass-middlewareを変更しなくても毎回再コンパイルしないようにするには?

これは実稼働環境には適していませんが、最後のコンパイル以降に変更されたファイルのみを再コンパイルすることをお勧めします。私はこれが何らかの形でターゲットフォルダ/ファイルを盗聴することによって可能であると仮定しますが、これを達成するための簡単な方法がわからないと思っていました。 node-sassのフラグか、私が紛失しているものがあるかもしれませんが、ドキュメントに何も見つかりません。

これは実際に毎回再コンパイルされていない可能性がありますが、これをテストする方法はわかりません。

誰かが助けてくれることを願っています!ありがとうございました!

答えて

0

私は質問を提出した直後にすぐにファイルが再コンパイルされているかどうかを判断するためにファイルのlast modifiedメタデータを確認することができました。うわー。

私はテストでした:

  1. アプリを立ち上げ、.cssファイルが.cssファイルのlast modified時間要求
  2. のノートを作った
  3. 初めてコンパイルされるようにページを要求しました再度ページ
  4. 現在の時刻と前の時刻とを比較したところ、変更前の時刻と比較して
  5. .scssファイルoを
  6. はもう一度last modified時間を比較し、ページに反映されているスタイルの変化に加えて、変更されますことを発見し、私はnode-sass-middlewareは何とか変更が持っていないことを検出することを締結しています。このよう

不必要にSassを再コンパイルすることはありません。私はRAMにCSSファイルをキャッシュする能力と合わせて、これは非常に効率的なソリューションです。

注:これ以上のテストを行ったところ、.scssファイルの変更がなく、既存の.cssファイルが完全に有効であっても、アプリケーションを再起動するとSassが再コンパイルされることが判明しました。これは、単にフォルダ/ファイルの内容を盗聴するよりも、少しだけ多いことを示唆しています。

+0

もう1つの観察:それは何らかの期間(そのうちの私は確かではないが、少なくとも5分)後に再コンパイルするようだ。これは 'maxAge'オプションとは関係がありません。なぜなら、それを数秒に設定しても、1分ほど後に再コンパイルしなかったからです。 –

関連する問題