13

Google только что выпустил Closure, который является компилятором для минимизации JavaScript.Как использовать Google Closure для компиляции JavaScript

На сайте продукта говорится: «Компилятор Closure также был интегрирован со скоростью страницы».

Как использовать скорость страницы для компиляции моих веб-страниц JavaScript с закрытием?

(Или есть веб-сайт, который я могу просто вставить в мой JavaScript, чтобы закрыть преуменьшать это?

+0

эй @Ted, я бы расширить вопрос включить «, как компилировать JavaScript »и в командной строке. – Evgeny

+0

Google замечательный, потому что они, как правило, предоставляют пошаговые руководства и учебные пособия по их программному обеспечению разработчика. Закрытие не является исключением. Начните [здесь] (http://code.google.com/closure/) и следуйте ссылкам на инструмент, о котором вы хотите узнать. Затем просто прочитайте и следуйте за ним. У них есть тонна информации о каждом инструменте. Наслаждайтесь! – JasCav

ответ

0

«Page Speed ​​1.4 Beta объединяющую Closure Compiler к Минимизировать JavaScript-файлы автоматически. Тем не менее, вы будете нуждаться чтобы загрузить и установить Page Speed ​​Beta и Closure Compiler отдельно.»

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

я не установил эту версию, но я абсолютно уверен, что Page Speed ​​представит вам скомпилированный код в его оптимизации рекомендации.

10

Для одного файла это просто

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

Для многостраничных файлов проекта, вы можете использовать calcdeps.py в сочетании с 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 

Таким образом, компилятор дает полезную информацию об ошибках типа и т.д. Ошибки типа могут быть пойманы во время компиляции, потому что compiler.jar использует certain JSDoc comments для информации о типе.

Дополнительные флаги компилятора могут быть переданы calcdeps.py вместе с -f или --compiler_flags вариантами

Если вы хотите использовать передовые оптимизации набора

--compiler_flags "--compilation_level=ADVANCED_OPTIMIZATIONS"

Обрати внимание на двойные кавычки и знак равенства - пришлось используйте этот формат в bash

0

Кажется, что Closure Compiler интегрирован со скоростью страницы only for Windows.

0

Если вам нужно собрать несколько JS-файлов, или если вы хотите упростить процесс компиляции, вы можете используйте kjscompiler: https://github.com/knyga/kjscompiler (на основе компилятора Google закрытия)

1

Компилятор Closure теперь доступен как приложение JavaScript. Нет необходимости в зависимости от Java.

Есть несколько способов интегрироваться с ним.Я сделал это в рамках накопительного пакета

например:

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

Больше информации здесь:

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

Смежные вопросы