谷歌刚刚发布了Closure,这是一个压缩 JavaScript 的编译器。
在产品网站上,它说“Closure Compiler 也已与 Page Speed 集成”。
如何使用 Page Speed 使用 Closure 编译我的网页 JavaScript?
(或者,是否有一个网站,我可以简单地粘贴到我的 JavaScript 中以使闭包缩小它?
谷歌刚刚发布了Closure,这是一个压缩 JavaScript 的编译器。
在产品网站上,它说“Closure Compiler 也已与 Page Speed 集成”。
如何使用 Page Speed 使用 Closure 编译我的网页 JavaScript?
(或者,是否有一个网站,我可以简单地粘贴到我的 JavaScript 中以使闭包缩小它?
对于单个文件,这很简单
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
使用某些JSDoc
注释来获取类型信息。
额外的编译器标志可以calcdeps.py
与-f
或--compiler_flags
选项一起传递
如果要使用高级优化集
--compiler_flags "--compilation_level=ADVANCED_OPTIMIZATIONS"
注意双引号和等号 - 必须在 bash 中使用该格式
Closure 编译器现在可以作为 JavaScript 应用程序使用。不再需要 Java 依赖项
有几种方法可以与之集成。作为 Rollup 的一部分,我已经完成了
前任:
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
“Page Speed 1.4 Beta 集成了 Closure Compiler 以自动缩小 JavaScript 文件。但是,您需要分别下载并安装 Page Speed Beta 和 Closure Compiler。”
http://code.google.com/speed/page-speed/download.html
我还没有安装这个版本,但我相当肯定 Page Speed 会在它的优化建议中为你提供编译后的代码。
如果需要编译多个js文件或者想简化编译过程,可以使用kjscompiler:https ://github.com/knyga/kjscompiler (基于googleclosure编译器)
似乎 Closure Compiler仅与 Windows的 Page Speed 集成。
将闭包编译器与 PHP 一起使用(通过 CURL 托管或通过命令行工具在本地托管)
http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/