6

Compassを使用して、Django アプリで CSS を記述する作業を簡素化したいと考えています。しかし、私はそれを構成する方法がわかりません。

django-compressor は SASS をサポートしているようですが、コンパスを使用するには、django-compressor がコマンドを実行_*.scssするときの作業ディレクトリであるため、ファイルをワークスペース (Django 1.4)にダンプする必要がありました。scss

Eric Meyer のアプローチ.scss(開発中にファイルをコンパイルし、SCM にコミットする) は賢明に思えますが、Django ワークスペースで SASS/Compass ツールを使用して複数のアプリ (再利用可能および再利用不可の両方).cssをコンパイルする方法は明らかではありません。.scss

各アプリの静的スタイルシート ファイルを に保存します<app>/static/<app>/css/

私が抱えている問題はこれです:

  1. @importアプリ間では機能しません
  2. _*.scssワークスペースにファイルを置くことは容認できません
  3. ワークスペースで実行compass watchすると、次のエラーで失敗します。

    コンパイルするものはありません。新しいプロジェクトを開始しようとしている場合は、ディレクトリ引数を省略しています。

  4. 使用@include background(...)は失敗します:

    構文エラー: 未定義の操作: "-compass-list-size(compact(#cccccc, false, false, false, false, false, false, false, false, false)) gt 1"

4

2 に答える 2

1

Django を Sass から本質的に分離する方がはるかに簡単であることがわかりました。それらを同時に使用することはできますが、別のターミナル ウィンドウなどが必要になる場合があります。最終的には、とにかくコンパイルされたアセットを提供することがすべてです。

私は通常、Sass ファイルを配置するルートにある /src/ ディレクトリを使用してプロジェクトを構成します。また、そのルート ディレクトリに Compass プロジェクトをセットアップし、コンパイル済みのスタイルシートを /static/css/ に配置します。

ルート /static/ 内にアプリケーション ディレクトリを作成するか、/ に別の Compass プロジェクトを作成する必要があるため、プロジェクト内に多くのアプリケーションがある場合、これは明らかに問題になる可能性があります。

通常、私は Grunt を使用して Sass/Compass ファイルをコンパイルするため、再作成は簡単ですが、もう少し複雑です。

Frank Wiles の投稿Ultimate Front End Development Setupは、私がプロジェクトをセットアップする方法にかなり近いですが、ミドルウェアを追加する必要はないと感じたため、django-compressor の使用をスキップし、明らかに Gulp の代わりに Grunt を使用しています。

于 2014-11-06T20:05:32.790 に答える
0

おそらく、 Fabricのようなツール(または bash スクリプト) を使用して、ファイルのコンパイルと配置を処理できます。コマンドに関しては、正常に実行するためにおよびファイルcompass watchの場所に追加のパラメーターを手動で指定する必要がある場合があります( を実行してヘルプ ドキュメントを確認してください)。.scss.csswatchcompass help watch

于 2013-01-19T08:39:39.380 に答える