注意到搜索和谷歌官方微信“谷歌开发者”。

与谷歌一起创造未来!

closure 编译器最初的发布可以追溯到 2009 年,最初版本支持 Java 环境。如今,我们宣布推出可在纯 JavaScript 环境中运行的 Closure 编译器,以用于非 Java 环境。其设计目标是在 NodeJS 环境下运行,同时支持部分流行的构建工具。

如果您尚未听说过 Closure 编译器,我们在此简单介绍一下吧:它是一款 JavaScript 优化器、转译器和类型检查器,可将您的代码编译为高性能的精简版。几乎所有的 Google 前端都使用它来编译,使代码尽可能精简、高效。

它支持 ES2015 中的新功能,例如,let、const 和 arrow 函数,还为 ES2015 方法提供其本身并不支持的 polyfill 插件。为了帮助您编写更优质、易维护、可扩展的代码,该编译器还检查语法以及类型的使用是否正确,并针对许多 JavaScript 问题提供警告。要详细了解该编译器,包括相关教程,请转至 develo。

效果如何?

该版本并非采用 JavaScript 重写而成的 Closure 编译器。我们是将 Java 源代码编译为 JS 源代码,以便在 Node 环境下甚至是在古老的浏览器中运行。

请注意:JS 版目前为试验版。其执行可能与 Java 原生版有所不同,但我们相信,这是该编译器阵营的有益补充,未来,Closure 团队将继续改进和支持该版本。

如何使用该版编译器?

要在您的项目中包含 JS 版 Closure 编译器,您应通过 NPM 将其作为依赖项添加到您的项目中 :

npm install –save-dev google-closure-compiler-js

然后,若要将此编译器与 Gulp 结合使用,您可以添加如下任务:

  1. const compiler = require('google-closure-compiler-js').gulp();

  2. gulp.task('script', function() {

  3. // select your JS code here

  4. return gulp.src('./src/**/*.js', {base: './'})

  5. .pipe(compiler({

  6. compilation_level: 'SIMPLE',

  7. warning_level: 'VERBOSE',

  8. output_wrapper: '(function(){n%output%n}).call(this)',

  9. js_output_file: 'ou;, // outputs single file

  10. create_source_map: true

  11. }))

  12. .pipe('./dist'));

  13. });

如果您希望从 google-closure-compiler(要求使用 Java)迁移到该版本,您需要先使用 gulp.src() 或类似方法加载 JavaScript,方可进行编译。由于该编译器在纯 JavaScript 环境下运行,因此,它无法直接从您的文件系统加载或保存文件。

此试验版当前并不支持 Java 版中支持的所有标志。然而,该编译器让您通过异常了解是否出现任何失误。

相关推荐