La meilleure façon de combiner et de les rapetisser JS / CSS sur Heroku
Tout d'abord, selon cette réponse, le :cache => true
option sur stylesheet_link_tag
et javascript_include_tag
ne fonctionne pas sur Heroku. Est-ce vrai? J'ai trouvé :cache => true
de travailler de temps en temps, mais pas toujours (bizarre!)
Aussi, quelle est la meilleure solution ici? L'idéal serait de combiner de façon transparente et rapetisser tous les CSS /JS. Heroku De L'Actif De L'Emballeur prétend faire: es-t-il de meilleures options?
Vous devez vous connecter pour publier un commentaire.
Je suis en utilisant Jammit sur Heroku. Fonctionne Très Bien. Vous pouvez construire localement votre actif et de votre check-in à heroku. utilisation
l'actuelle version 0.5.1 a des problèmes de travail sur heroku, mais vous pouvez installer la version fixe de git://github.com/documentcloud/jammit.git
Si vous êtes à l'aide de Rails 3, précisez ci-dessous dans votre bundler Gemfile:
Pour Rails 2.*
Bonne Chance.
J'ai trouvé que l'ajout d'un git pre–commit hook qui les compile et les packs actifs, puis les ajoute à la commit courant est très pratique dans ce cas.
Mine à l'aide Jammit ressemble à quelque chose comme ceci (dans
.git/hooks/pre-commit
):Comme cela, tous vos biens seront emballés pour vous et vous n'avez pas à vous soucier plus à ce sujet.
GitHub a une bonne réponse à cette question, et je suis sûr que vous pourriez modifier Heroku de scripts de déploiement pour l'intégration:
http://github.com/blog/551-optimizing-asset-bundling-and-serving-with-rails
git push heroku
. Pas grand chose à modifier.Je n'ai pas essayé sur heroku, mais Pignons pourrait être bon pour cela. Aussi, dans le passé, j'ai eu plus de chance avec
au lieu de "vrai"
C'est une autre façon de gérer votre CSS/Javascript, mais vous voudrez peut-être vérifier les Rails plugin boîte à chaussures.
Boîte à chaussures peut faire la combinaison, minifying, et la mise en cache.
Le projet nom dit tout:
http://github.com/amasses/heroku_asset_packager
/tmp
, qui, selon docs.heroku.com/constraints, ne sont pas nécessairement bâton autour de à travers les demandes deVoici les options de configuration pour compresser vos actifs.
http://guides.rubyonrails.org/asset_pipeline.html#customizing-the-pipeline
Il y a sans doute plusieurs façons de faire cela, mais ce qui fonctionne pour moi est de rapetisser avant de le pousser. Puis-je utiliser une sous-arborescence de garder mes fichiers de compilation séparée de la "source" des fichiers. Ainsi, par exemple, si vous créez un dossier appelé "dist", vous pouvez pousser un sous-arbre appelé heroku/master comme ceci:
Il suffit de ne pas oublier de s'assurer que le dossier dist n'est pas ignorée (elle l'est souvent, par défaut) - afin de modifier votre .gitignore fichier en conséquence.
--Prefix commande s'assure que le dossier dist devient le dossier "racine" du point de vue de la direction.