2009-11-07 15 views
13

Google acaba de lanzar Closure, que es un compilador para minificar JavaScript.Cómo usar el cierre de Google para compilar JavaScript

En el sitio del producto, dice "The Closure Compiler también se ha integrado con Page Speed".

¿Cómo uso Page Speed ​​para compilar las páginas web JavaScript con el cierre?

(O, ¿hay un sitio web que simplemente puedo pegar en mi Javascript para tener el cierre Minify que?

+0

bueno @Ted, me gustaría ampliar la pregunta para incluir "la forma de compilar Javascript "en una línea de comando también. – Evgeny

+0

Google es excelente porque generalmente proporciona tutoriales y tutoriales de su software de "desarrollador". El cierre no es una excepción. Comience [aquí] (http://code.google.com/closure/) y siga los enlaces a la herramienta sobre la que desea obtener más información. Entonces, solo lee y sigue. Tienen mucha información sobre cada herramienta. ¡Disfrutar! – JasCav

Respuesta

0

"Page Speed ​​1.4 Beta integra el compilador de Cierre a minify archivos JavaScript automáticamente. Sin embargo, se necesita para descargar e instalar la versión beta de Page Speed ​​y Cierre del compilador por separado."

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

no he instalado esta versión todavía, pero estoy bastante seguro de que Page Speed ​​le presentará el código compilado en su optimización recomendaciones.

10

para un solo archivo es simple

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

Para un proyecto de varios archivos puede utilizar calcdeps.py en combinación con el 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 

De esa manera compilador da información significativa acerca de los errores de tipo, etc. Los errores de tipo se pueden capturar en tiempo de compilación porque compiler.jar usa certain JSDoc comments para obtener información de tipo.

opciones del compilador adicionales se pueden pasar a calcdeps.py junto con -f o --compiler_flags opciones

Si desea utilizar optimizaciones avanzadas establecen

--compiler_flags "--compilation_level=ADVANCED_OPTIMIZATIONS"

aviso las comillas dobles y el signo igual - tuvo que use ese formato en bash

0

Parece que Closure Compiler está integrado con Page Speed ​​only for Windows.

0

Si necesita compilar varios archivos js o si desea simplificar el proceso de compilación, deberá use kjscompiler: https://github.com/knyga/kjscompiler (basado en el compilador de cierre de google)

1

El compilador Closure ahora está disponible como una aplicación de JavaScript. Ya no se necesita la dependencia de Java

Hay algunas formas de integrarse con ella.Lo he hecho como parte del paquete acumulativo de

ejemplo:

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) {}; 
       `}], 
    }) 
    ] 
} 

Más información aquí:

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

Cuestiones relacionadas