Padrino、コンパス、heroku の読み取り専用ファイル システム
-
25-09-2019 - |
質問
Padrino がコンパスで「そのまま機能する」方法はとても気に入っていますが、これから使用するのでいくつか質問があります。 ヒーローク (そして彼らの 読み取り専用ファイルシステム) ホスティング用
見た目からすると、padrino/compass コンボは、sass ファイルに変更が加えられ、ユーザーがサーバーにアクセスした場合にのみ sass をコンパイルします。 本当?
もしそうなら、アプリが本番モードになったら、sass ファイルに変更を加えないため、コンパスがファイルシステムに書き込もうとすることを心配する必要はないと考えるのは正しいでしょうか?サーバー上で?
sass ファイルに加えられた変更以外に、padrino/compass がファイルシステムに書き込むような状況はありますか?
質問 2 での仮定が間違っている場合、padrino/compass がファイル システムに書き込めないようにするにはどうすればよいでしょうか?
ネイサン・ワイゼンバウム (サスの名声) 私にアドバイスした sinatra、sass、compass、heroku を組み合わせる場合、Sass::Plugin::Rack を使用する必要がありましたが、よく考えた結果、(少なくとも私のニーズにとっては) 最良の選択肢は、sass がサーバーサイドで何らかの処理を行わないようにすることだと判断しました。ルートで Sass を呼び出さずに静的 CSS ファイルにリンクすることによるコンパイル
それに気づきました compass_plugin.rb (padrino ジェネレーターによって作成) 「Sass:Plugin::Rack」が必要です
明日の夜まで Heroku にプッシュできないので、発生する可能性のある問題に注意して対処しようとしています
[パドリーノのメールでも同じ質問をします]
解決
ガットの答えにリストのPadrinoのメーリングリストというこの問題を修正します。
if Padrino.env == :production
Sass::Plugin.options[:never_update] = true
end
# right before
Compass.configure_sass_plugin!
Compass.handle_configuration_change!
これは、私の作品
他のヒント
私はRailsとコンパスを使って、新しいプロジェクトを持っている、と私はHerokuのにプッシュするたびに、それはののファイルシステムへの書き込みをしようとしないことコンパスようです。私が得る「我々だ申し訳ありませんが、何かがなくなって間違っている」私は更新後のページを毎回訪問するときに警告を。
これは、CSSファイルのすべてがすでに存在している必要がありますという事実にもかかわらず起こります。奇妙渡します。
Herokuのは、使用するユーザーを奨励
をコンパイルされたスタイルシートのtmp
ディレクトリます。