8
votes

Rails JavaScript Compression / minéculation sur la réponse à la réponse à JavaScript?

Gutures de voeux et gurales JavaScript!

J'ai un projet où je retourne un grand fichier JavaScript dans un P>

respond_to do |format|
   format.js
end


0 commentaires

3 Réponses :


5
votes

Eh bien, j'ai peut-être une solution: xxx

cela fonctionne parfaitement. Bien sûr que la clé est la méthode minifiée . Vous trouverez beaucoup de minificateurs JS autour. Par exemple, vous pouvez utiliser celui-ci (bien si permis de licence): http : //github.com/tthumblemonks/smurf/raw/master/lib/smurf/javascript.rb - Il est basé sur jsmin.c.

si vous mettez ce fichier dans votre fichier LIB, exigez-le, votre méthode Minify peut ressembler à ceci: xxx

espère que cela vous a aidé.

Si vous envisagez de terminer automatiquement alors devrait probablement aller pour un morceau de middleware. Étonnamment, je n'ai pas pu trouver (il y en a beaucoup pour le CSS / JS, mais il s'agit d'actifs statiques non de contenu dynamique), mais ce ne serait pas un tel problème de l'écrire.


3 commentaires

Merci Pawien! Cela me donne quelque chose à penser à coup sûr. :) Passer le résultat à un bloc et le traitement avec un mini-informer semble être une bonne solution. Ensuite, j'ai juste besoin de comprendre comment cacher la sortie. Je vais jouer avec cela aujourd'hui et demain .. Je peux vous déranger. :RÉ


Y a-t-il un moyen de le faire dans Rails3.2, en utilisant ses propres caractéristiques intégrées du pipeline d'actifs?


Merci Radek! belle solution. Nazar, ajouté mes rails 3 mors modifiés ci-dessous



3
votes

Pour les rails 3 à l'aide de la méthode UGinifier intégrée (la valeur par défaut pour le pipeline d'actifs)

Voir le code de Radek ci-dessus et simplement échanger cela dans. P>

  def minify(content)
    Uglifier.new.compile(content)
  end


0 commentaires

12
votes

pour les rails 4:

render js: Uglifier.new.compile(render_to_string)


0 commentaires