/ / Symfony, grunt, requires.js et Assetic - javascript, symfony, less, assetic, gruntjs

Symfony, grunt, require.js et Assetic - javascript, symfony, less, assetic, gruntjs

Notre application utilise une combinaison d'amd chargéjs et css définis en utilisant moins. Pour nos environnements de développement, nous utilisons des fichiers individuels et utilisons des scripts frontaux. Cependant, pour la production, je tiens à supprimer les exigences frontales et à compiler / compresser les bibliothèques.

Actuellement, nous pouvons le faire en dehors de symfony en utilisant grunt - cependant il serait très souhaitable d'automatiser cela et de l'intégrer au système symfony.

Par exemple:

Dev: Assetic mappe les fichiers des bundles à l'aide de liens symboliques - cela permet de modifier et de tester dans le projet.

Prod: Assetic exécute Grunt et compresse les fichiers avant de les déployer dans le répertoire Web.

Je tiens à conserver l'intégration avec les modèles de brindilles et également la version des fichiers qu'Assetic fournit.

De toute évidence, le grognement chevauche Assetic - mais est-ce qu'ils peuvent / peuvent bien jouer ensemble?

Réponses:

1 pour la réponse № 1

Je voudrais simplement utiliser Assetic à moins qu'il n'y aitquelque chose de spécifique pour lequel vous devez utiliser Grunt. Ils peuvent coexister et jouer bien, mais le chevauchement semble très redondant. Nous utilisons plusieurs filtres avec Assetic pour nos déploiements automatisés et au lieu d'utiliser require.js, nous avons des blocs de script supplémentaires que nous remplaçons par modèle afin de ne pas charger de scripts sur des pages qui n'en ont pas besoin.

Voici à quoi ressemble notre Assetic avec certaines des configurations de filtre:

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