13

Google vient de publier Closure, qui est un compilateur pour réduire le JavaScript.Comment utiliser la fermeture de Google pour compiler JavaScript

Sur le site du produit, il est écrit "Le compilateur de fermeture a également été intégré à Page Speed".

Comment utiliser Page Speed ​​pour compiler mes pages Web JavaScript avec Closure?

(Ou, est-il un site web que je peux simplement coller dans mon JavaScript pour avoir la fermeture rapetisser il?

+0

hey @Ted, je voudrais élargir la question d'inclure « comment compiler javascript "sur une ligne de commande aussi. – Evgeny

+0

Google est génial, car ils fournissent généralement des procédures pas à pas et des tutoriels de leur logiciel «développeur». La fermeture n'est pas une exception. Commencez [ici] (http://code.google.com/closure/) et suivez les liens vers l'outil que vous voulez apprendre. Ensuite, il suffit de lire et de suivre. Ils ont une tonne d'informations sur chaque outil. Prendre plaisir! – JasCav

Répondre

0

« Page Speed ​​1.4 Beta intègre la fermeture du compilateur pour rapetisser JavaScript fichiers automatiquement. Cependant, vous aurez besoin pour télécharger et installer la version bêta page Speed ​​et la fermeture du compilateur séparément. »

http://code.google.com/speed/page-speed/download.html

Je n'ai pas installé cette version, mais je suis assez certain que page Speed ​​vous présentera le code compilé dans son optimisation recommandations

10

Pour un seul fichier il est simple

java -jar $path_to_jar/compiler.jar --js input_file.js \ 
      --js_output_file output_file.js 

Pour un projet multi-fichiers, vous pouvez utiliser calcdeps.py en combinaison avec le compiler.jar

#!/bin/sh$ 
$CALCDEPS_PATH=/path/to_calcdeps #directory containing calcdeps.py 
$JAR_PATH=/path/to_jar   #directory containing compiler.jar 
$CLOSURE_PATH=/path/to_closure #contains directory "closure" 
$CALCDEPS_PATH/calcdeps.py --path $CLOSURE_PATH \ 
          --path . \ 
          --compiler_jar $JAR_PATH/compiler.jar \ 
          --input main_project_file.js \ 
          --output_mode compiled \ 
          > compiled_project_file.js 

Ce compilateur moyen donne des informations significatives sur les erreurs de type, etc. Les erreurs de type peuvent être interceptées au moment de la compilation car compiler.jar utilise certain JSDoc comments pour les informations de type.

drapeaux du compilateur supplémentaires peuvent être transmis à calcdeps.py avec -f ou --compiler_flags Options

Si vous souhaitez utiliser des optimisations avancées définies

--compiler_flags "--compilation_level=ADVANCED_OPTIMIZATIONS"

avis les guillemets doubles et le signe égal - dû utiliser ce format dans bash

0

Il semble que Closure Compiler est intégré à Page Speed ​​only for Windows.

0

Si vous avez besoin de compiler plusieurs fichiers js ou si vous souhaitez simplifier processus de compilation, vous pouvez utilisez kjscompiler: https://github.com/knyga/kjscompiler (basé sur le compilateur google closure)

1

Le compilateur de fermeture est maintenant disponible en tant qu'application JavaScript. Plus besoin de la dépendance Java

Il y a plusieurs façons de l'intégrer.Je l'ai fait dans le cadre de Rollup

ex:

import rollup from 'rollup'; 
import closure from 'rollup-plugin-closure-compiler-js'; 

export default { 
    entry: 'index.js', 
    dest: 'dist/build.js', 
    format: 'iife', 
    plugins: [ 
    closure({ 
     languageIn: 'ECMASCRIPT6', 
     languageOut: 'ECMASCRIPT5', 
     compilationLevel: 'ADVANCED', 
     warningLevel: 'VERBOSE', 
     externs: [{src:` 
         var jQuery; 
         jQuery.fadeIn = function() {}; 

         var ko; 
         ko.applyBindings = function(vm) {}; 
         ko.computed = function(a,b) {}; 
         ko.observable = function(a) {}; 
       `}], 
    }) 
    ] 
} 

Plus d'infos ici:

http://www.syntaxsuccess.com/viewarticle/using-the-closure-compiler---advanced_optimizations

Questions connexes