Google剛發佈Closure,這是一個縮小JavaScript的編譯器。如何使用Google的Closure編譯JavaScript
在產品網站上,它說「Closure編譯器也與Page Speed集成」。
如何使用Page Speed來編譯我的網頁帶閉包的JavaScript?
(或者是有一個網站,我可以在我的JavaScript簡單地粘貼有封縮小呢?
Google剛發佈Closure,這是一個縮小JavaScript的編譯器。如何使用Google的Closure編譯JavaScript
在產品網站上,它說「Closure編譯器也與Page Speed集成」。
如何使用Page Speed來編譯我的網頁帶閉包的JavaScript?
(或者是有一個網站,我可以在我的JavaScript簡單地粘貼有封縮小呢?
「Page Speed的1.4測試版集成了關閉編譯器來縮小JavaScript自動文件。但是,您將需要下載和安裝頁面速度測試版,並使用Closure Compiler分開。」
http://code.google.com/speed/page-speed/download.html
我還沒有安裝這個版本,但我敢肯定的是網頁速度將爲您呈現在其優化的編譯代碼建議。
單個文件很簡單
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中使用該格式
Closure Compiler似乎與Page Speed only for Windows集成在一起。
使用與PHP關閉編譯器(通過捲曲託管或通過命令行工具本地)
http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/
如果您需要編譯多個JS文件,或者如果您想簡化編譯過程中,你可能使用kjscompiler:https://github.com/knyga/kjscompiler(基於谷歌封閉編譯器)
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
哎@Ted,我會擴大的問題,包括「如何編譯JavaScript的「也在命令行上。 – Evgeny 2010-03-02 21:54:33
谷歌很棒,因爲它們通常會提供他們的「開發者」軟件的演練和教程。封閉也不例外。從[開始](http://code.google.com/closure/)開始,然後按照您想了解的工具鏈接進行操作。然後,請閱讀並遵循。他們有很多關於每種工具的信息。請享用! – JasCav 2009-11-07 05:35:28