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