Configurer le répertoire de sortie pour Assetic dans Symfony2
J'aimerais configurer globalement la sortie dir d'où assetic décharges mes fichiers JS. Actuellement, ils vont toujours à web/js/*
. Je veux changer ce à web/js/compiled/*
.
Il est possible de spécifier ce au niveau du fichier: http://symfony.com/doc/2.0/cookbook/assetic/asset_management.html#dumping-asset-files
N'arrive pas à trouver un moyen de régler cela à l'échelle mondiale au sein de mon application Symfony. Toute config paramètre que je suis absent?
Mise à JOUR
Trouvé un assetic config paramètre appelé write_to
. La définition de cette dans config.yml
causes de la ligne de commande assetic:dump
pour les fichiers de vidage de la nouvelle dir, mais dans twig fichiers de la asset_url
var pointe toujours vers le chemin d'origine.
source d'informationauteur anushr
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser la propriété write_to.
dans ma configuration pour l'exemple j'utilise
Votre sortie chaîne débute là où se termine write_to
par exemple
...
les deux seront placés respectivement dans /web/static/js/main.js
et /web/static/css/écran.css
assets_base_urls est utilisé pour spécifier l'URL de base est d'être utilisé pour les actifs référencés à partir de l'adresse http et ssl (https) pages.
!!
assets_base_urls
est également utilisé par{% images %}
comme la racine avant deoutput
valeur, mais{% images %}
ne pas envisager dewrite_to
lors du rendu html (uniquement lors d'un dumping) donc préférable de ne pas utiliserwrite_to
et ne comptent que suroutput
valeur. Plus à ce sujet dans mon autre post sur stackoverflow et dans ce post sur AsseticBundle de github.Vous pouvez définir le chemin d'une ressource (
assets_base_urls
) pour twig pour un chemin d'accès statique, au lieu d'utiliser le chemin d'accès relatif. Dans votre config.fichier yml, il devrait ressembler à ceci:Ce sera en effet
asset_url
de assetic ainsi que la brindille estasset()
méthode. Ce dernier peut ou peut ne pas être désirée.Cette GitHub question commentaire m'a aidé avec ce problème.
Alors que le dev, vos biens vont toujours par le contrôleur, mais dans la production, l'Url sera comme vous le désirez.
Exemple de config.yml:
Exemple dans votre modèle:
Notez que vous devez ajouter le package='assetic' attribut dans les scripts java tag. C'est un bon compromis de l'OMI, car il ne cassera pas d'actifs à partir d'autres lots comme kmfk de la solution.
Juste une petite remarque sur ce point. Si vous utilisez
assets_base_urls
pour spécifier un par rapport à l'URL de base, cela ne fonctionne que avant Symfony 2.7, en raison de l'introduction de nouveaux actifs composant dans cette version. Plus d'informations sur la façon de modifier cette est disponible à http://symfony.com/blog/new-in-symfony-2-7-the-new-asset-component , mais le long et court, c'est que:devient:
Essayer cette commande
$ app/console --env=prod assetic:dump web/
vous avez juste à changer l'url que vous voulez raher que " web/'