0

この例に基づいたコンパスシナトラプロジェクトがあります。

プルリクエストのこのコミットプルリクエストのコメントに記載されているように、sinatraは、リクエストに応じて、コンパイルされたcssファイルをオンデマンドで自動生成できます。

ただし、cssファイルに変更がない場合でもサーバーを再コンパイルする必要があるため、これは無駄のように思われます。サーバーが変更を監視し、ファイルの変更時に再コンパイルしたが、同じ静的cssファイルをオンデマンドで提供する方がよいのではないでしょうか。これは、「コンパスウォッチ」を実行して、コンパイルされたファイルを提供したかのように機能します。

私の質問は次のとおりです。ウォッチコンパスを個別に実行しなくても、sinatraが変更時にsassファイルを静的CSSに自動的にコンパイルする良い方法はありますか?

注:エクスプレス/ノード/スタイラスプロジェクトもあり、このように動作します。これにより、これが可能で論理的な方法であり、sinatraアプリを誤って構成していると思います。

4

1 に答える 1

0

CSSを変更するには、次のいずれかを行う必要があります。

  • 新しいファイルをアプリケーションサーバーにプッシュします(再起動の可能性あり)
  • バックグラウンドで再コンパイルします(compass watchサーバーなど)
  • サーバーに変更をコンパイルさせる(あなたが与えた例のようなものを使用して)

個人的には、最初のものが好きです。サーバーに静的アセットをコンパイルさせたい理由がわかりませんか?貴重なリソースを消費し、CSSは開発マシンで変更されるので、開発マシンでコンパイルしてみませんか?これらの質問に対する適切な回答を聞いたことがないので、Guardsass watchファイルを使用して(またはcompass watchバックグラウンドタスクとして使用することもできますsass --watch app/views/stylesheets:app/public/css &)、コンパイルしてから、.cssファイルをチェックインしてサーバーにプッシュします。

YMMV。

于 2013-03-06T03:11:04.047 に答える