发新帖

使用Google Closure Compiler

[复制链接]
362 0

作者:陈少佳

Google Closure Compiler是什么

Google开源了其内部使用的JavaScript开发工具—— Google Closure Tools,希望帮助外部程序员开发出速度更快的Web应用程序。Google认为通过允许开发者使用Google自己所用的工具,他们不仅可以创造出更快的富Web应用程序,而且能真正让Web插上翅膀。Closure JavaScript编译器和库曾被Google用于开发Gmail、Google Docs、Google Maps以及其它应用程序。

Closure工具包括了JavaScript优化器,移除不需要的代码,压缩其余的代码以实现速度最大化。

其中的JavaScript优化工具就是Google Closure Compiler,经过这么多年的发展,Google Closure Compiler这个工具已经完全配得上其编译器的名字了,他可以将ES6代码编译成ES5甚至ES3(可运行于早期的IE浏览器中)。


前言
Google Closure Compiler很强大,但是其官方网站无法打开(你懂得),就算你可以打开,可能也因为不懂英文而放弃阅读,同时汉语的资料很少并且不完善,鉴于此,我写下这篇文章,希望能够帮助初学者。


下载Google Clousre Compiler

官方下载地址是 https://developers.google.com/closure/compiler/ ,当然你可能无法访问,所以我提供下载链接 https://pan.baidu.com/s/1hswgmXI

下载解压后你将获得几个文件如下图所示:

图片1.png

其中closure-compiler-v20160713.jar文件就是我们所需要的文件。

运行该程序需要你的电脑上已经安装了Java环境,如果还没有安装,请到Java官网http://www.oracle.com/technetwor ... ownloads/index.html下载并默认安装。


运行Google Closure Compiler

将下载的压缩包解压到本地,如:我解压后该文件的本机地址是 C:\Users\plter\Apps\closure-compiler-v20160713.jar
打开命令提示符窗口,并进入到C:\Users\plter\Apps目录下,如下图所示:

图片2.png

敲入 java -jar closure-compiler-v20160713.jar –help 命令,如果能够看到帮助信息,如下图所示,则说明该程序可以正常运行。

图片3.png

在该目录下创建一个app.js,在其中输入如下代码
  1. class Hello{
  2.     sayHello(){
  3.         alert("Hello World");
  4.     }
  5. }
  6. let h = new Hello();
  7. h.sayHello();
复制代码

该代码为ES6,在现在的大多数浏览器中都是无法运行的,但是我们可以把该代码编译成ES3从而能够运行在现有的浏览器中,而这个编译器就是Google Closure Compiler

在控制台中键入命令java -jar --js_output_file app.min.js --js app.js并执行,将编译生成一个app.min.js,其中生成的代码如下图所示:

图片5.png

可以看出,此代码已经成为ES3了,并且进行了压缩处理。

创建一个index.html文件,在其中输入如下代码
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Title</title>
  6. </head>
  7. <body>
  8. <script src="app.min.js"></script>
  9. </body>
  10. </html>
复制代码

直接双击该文件打开,如果可以看到提示框如下图所示,则说明该程序成功运行了

图片4.png


总结

因为Google Closure Compiler默认的输入文件格式是ES6,所以使用Google Closure Compiler让我们现在就可以使用JavaScript最新的标准来写项目。Google Closure Compiler已经有了多年的技术沉淀,而且Google公司自己也在用,所以该工具是非常健壮可靠的,完全可以用在实际项目中。

参考资料
http://www.oschina.net/p/closure/

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服中心

400-058-0010 周一至周日9:00-21:00 仅收市话费
快速回复 返回顶部 返回列表