3

私たちのアプリケーションは、amd をロードした js と、less を使用して定義された css の組み合わせを使用します。私たちの開発環境では、個々のファイルを使用して実行し、フロント エンド スクリプトを使用します。ただし、本番環境では、フロントエンドの要件を取り除き、ライブラリをコンパイル/圧縮することに熱心です。

現在、grunt を使用して symfony の外部でこれを行うことができますが、これを自動化し、symfony システムと統合することが非常に望ましいでしょう。

例えば:

Dev: Assetic は、シンボリック リンクを使用してバンドルからファイルをマップします。これにより、プロジェクト内での編集とテストが可能になります。

Prod: Assetic は Grunt を実行し、ファイルを圧縮してから Web ディレクトリにデプロイします。

twig テンプレートとの統合と、Assetic が提供するファイルのバージョン管理を維持したいと考えています。

Grunt は明らかに Assetic と重なっていますが、うまく連携できますか?

4

1 に答える 1

1

Grunt を使用する必要がある特定の何かがない限り、Assetic を使用します。それらは共存してうまく機能しますが、オーバーラップは非常に冗長に見えます。自動展開のために Assetic で複数のフィルターを使用し、require.js を使用する代わりに、テンプレートごとにオーバーライドする追加のスクリプト ブロックを用意して、必要のないページにスクリプトを読み込まないようにしています。

以下は、いくつかのフィルター構成を使用した Assetic の外観です。

assetic:
debug:          %kernel.debug%
use_controller: false
bundles:        ['AcmeBundle', 'FOSUserBundle', 'FooBundle']
java:           /usr/local/bin/java
filters:
    less:
        node:       /usr/local/bin/node
        node_paths: [/usr/local/lib/node_modules]
        apply_to:   "\.less$"
    cssrewrite: ~
    cssembed:
        jar:      %kernel.root_dir%/Resources/java/cssembed-0.4.5.jar
        apply_to: "\.css$|\.less$"
    yui_css:
        jar:      %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
        apply_to: "\.css$"
    yui_js:
        jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
        apply_to: "\.js$"
    closure:
        jar: %kernel.root_dir%/Resources/java/compiler.jar
于 2013-03-19T18:01:40.437 に答える