npm 包 @gaearon/rollup-plugin-closure-compiler-js 使用教程

阅读时长 4 分钟读完

前言

在前端开发中,JavaScript 是不可避免的。但是,JavaScript 代码往往是非常冗长的,这会影响页面的性能。为了解决这个问题,Google 推出了一款 JavaScript 压缩工具 Closure Compiler。Closure Compiler 可以将长长的 JavaScript 代码压缩成更短的代码,并将其中的函数和变量名替换成更短的名字,从而提高页面的性能和加载速度。

在 JavaScript 开发中,我们经常会使用一些工具和库来提高开发效率和代码质量,例如 Rollup,它是一款高效的 JavaScript 模块打包工具。而 @gaearon/rollup-plugin-closure-compiler-js 正是一个基于 Rollup 的 Closure Compiler 插件,可以让我们更加方便地使用 Closure Compiler 压缩 JavaScript 代码。

本文就来详细介绍如何使用 @gaearon/rollup-plugin-closure-compiler-js。

安装

在使用 @gaearon/rollup-plugin-closure-compiler-js 之前,首先需要进行安装。在命令行中执行以下命令即可安装:

使用

安装完成后,在 Rollup 的配置文件中添加以下配置即可使用 @gaearon/rollup-plugin-closure-compiler-js:

-- -------------------- ---- -------
------ - ------ - ---- ---------
------ ------------- ---- ---------------------------------------------

--------
  ------ -----------
  -------- -
    ---------------
      ------------------ --------
    --
  -
-------------- -- -
  -- ---
---

其中,closurePlugin 是从 @gaearon/rollup-plugin-closure-compiler-js 导入的 Closure Compiler 插件。在 plugins 数组中添加该插件即可。

在上面的示例代码中,我们设置了 compilation_level 的值为 SIMPLE,这表示使用 Closure Compiler 的 SIMPLE_OPTIMIZATIONS 模式进行压缩。关于 compilation_level 的详细说明,可以参考 Closure Compiler 的官方文档。

配置参数

@gaearon/rollup-plugin-closure-compiler-js 支持以下配置参数:

compilation_level

Closure Compiler 的编译级别。可以设置为以下值中的一个:

  • SIMPLE:简化后的编译,移除注释、console 日志等无用代码;
  • ADVANCED:高级编译,进一步移除无用代码,重命名函数和变量名;
  • WHITESPACE_ONLY:只进行空白符的压缩。

该参数默认值为 SIMPLE。

jsCompilerOptions

Closure Compiler 的其他配置项,详见 Closure Compiler 的官方文档。

jsCompilerTarget

压缩后的代码的 JavaScript 版本。可以设置为 ES3、ES5 或 ES6,默认为 ES3。

createSourceMap

是否生成 sourcemap,默认为 true。

formatSourceMap

格式化 sourcemap 是否将源码作为 embedded source,只是为了方便调试,默认为 false。

outputWrapper

在压缩后的代码头部添加的代码,例如注释、版权声明等。

例如:

总结

@gaearon/rollup-plugin-closure-compiler-js 是一个很好用的 Closure Compiler 插件,它方便了我们在 Rollup 中使用 Closure Compiler 进行 JavaScript 代码压缩。在使用该插件时,需要注意配置参数的设置,不同的参数会影响到压缩后的代码质量和性能。希望本文可以帮助大家更好地使用 @gaearon/rollup-plugin-closure-compiler-js。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600566a681e8991b448e2dc0

纠错
反馈