网上搜索了,目前主流的Js代码压缩工具主要有Uglify、YUI Compressor、Google Closure Compiler,简单试用了UglifyJS 和Google Closure Compiler 两种工具的基本用法。

一、UglifyJS
UglifyJS是用JavaScript编写的JavaScript压缩工具。
官网:http://lisperator.net/uglifyjs/
1、通过NPM安装UglifyJS
(1)安装Node.js
从Node.js官网https://nodejs.org/en/下载对应平台的安装程序,当前最新版本11.4.0,推荐版本10.14.2。
本人下载的是10.14.2,下载下来是一个node-v10.14.2-x64.msi安装包,按照默认下一步安装。
安装成功后在cmd命令提示符下输入node -v,可以显示版本号:

C:\Users\lc>node -v
v10.14.2

要退出Node.js环境,连按两次Ctrl+C。

(2)关于NPM
NPM是随同NodeJS一起安装的默认包管理工具,通过NPM可以安装、共享、分发代码,管理项目依赖关系。
在cmd命令提示符下输入npm -v,可以显示版本号:

C:\Users\lc>node -v
6.4.1

(3)安装UglifyJS
在cmd命令提示符下输入:

npm install uglify-js

2、压缩JS文件
(1)在cmd命令提示符下,用cd命令定位到JS文件所在目录;
(2)输入压缩命令:

uglifyjs test.js test2.js -c -m -o test-outpout.js

test.js和test2.js是待压缩文件,test-outpout.js是压缩后文件。
常用参数说明:

-o,--output 指定输出文件,默认情况下为命令行
-b,--beautify 美化代码格式的参数
-m,--mangle 改变变量名称
-r,--reserved 保留的变量名称,不需要被-m参数改变变量名的
-c,--compress 代码压缩
--comments 用来控制注释的代码的

二、Google Closure Compiler
Closure Compiler应用程序是一个Java 命令行工具,用来对JavaScript代码进行压缩、优化和排错。
官网:https://developers.google.com/closure/compiler/
1、下载:
官网下载地址为https://dl.google.com/closure-compiler/compiler-latest.zip
解压后有3个文件:

closure-compiler-v20181210.jar
COPYING
README.md

打开README.md帮助文档,可以看到其中有一行说明:Closure Compiler需要Java 8或以上版本。

2、命令行下压缩js文件:
(1)在解压后的ClosureCompiler目录新建一个测试的text.js文件
(2)打开cmd命令行,并cd定位到ClosureCompiler目录;
(3)输入压缩命令:

java -jar closure-compiler-v20181210.jar --js test.js --js_output_file test-outpout.js

test.js是待压缩文件,多个文件可用空格间隔,test-outpout.js是压缩后文件。

JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法的更多相关文章

  1. Google Closure Compiler高级压缩混淆Javascript代码

    一.背景 前端开发中,特别是移动端,Javascript代码压缩已经成为上线必备条件. 如今主流的Js代码压缩工具主要有: 1)Uglify http://lisperator.net/uglifyj ...

  2. 使用Google Closure Compiler高级压缩Javascript代码

    背景 前端开发中,特别是移动端,Javascript代码压缩已经成为上线必备条件. 如今主流的Js代码压缩工具主要有: 1)Uglify http://lisperator.net/uglifyjs/ ...

  3. 使用Google Closure Compiler高级压缩Javascript代码注意的几个地方

    介绍 GCC(Google Closure Compiler)是由谷歌发布的Js代码压缩编译工具.它可以做到分析Js的代码,移除不需要的代码(dead code),并且去重写它,最后再进行压缩. 三种 ...

  4. 使用Google Closure Compiler全力压缩代码(转)

    JavaScript压缩代码的重要性不言而喻,如今的压缩工具也有不少,例如YUI Compressor,Google Closure Compiler,以及现在比较红火的UglifyJS.Uglify ...

  5. Google Closure Compiler 高级模式及更多思考(转)

    前言 Google Closure Compiler 是 Google Closure Tools 的一员,在 2009 年底被 Google 释出,早先,有 玉伯 的 Closure Compile ...

  6. 推荐15个最好用的 JavaScript 代码压缩工具

    JavaScript 代码压缩是指去除源代码里的所有不必要的字符,而不改变其功能的过程.这些不必要的字符通常包括空格字符,换行字符,注释以及块分隔符等用来增加可读性的代码,但并不需要它来执行. 在这篇 ...

  7. 主流JavaScript框架(Dojo、Google Closure、jQuery、Prototype、Mootools和YUI)的分析和对比

    本文主要选取了目前比较流行的JavaScript框架Dojo.Google Closure.jQuery.Prototype.Mootools和YUI进行对比,主要是根据网上的资料整理而成,希望可以供 ...

  8. bootstrap-datetimepicker在经过GC(Google Closure Compiler)压缩后无法使用的解决方案

    将压缩级别由simple改成whitespace 问题就是这样之后压缩后的文件大了很多 <?xml version="1.0"?> <project name=& ...

  9. 如何写出优雅的JavaScript代码 ? && 注释

    如何写出优雅的JavaScript代码 ? 之前总结过一篇<如何写出优雅的css代码?>, 但是前一段时间发现自己的js代码写的真的很任性,没有任何的优雅可言,于是这里总结以下写js时应当 ...

随机推荐

  1. PDM:Training Models of Shape from Sets of Examples

    这篇论文介绍了一种创建柔性形状模型(Flexible Shape Models)的方法--点分布模型(Point Distribution Model).该方法使用一系列标记点来表示形状,重要的是根据 ...

  2. 骑士(树形dp)

    题意:给你一个基环树森林,每个点有一个权值,一条边上的两个节点不能同时选择.选取任意个节点,求最大权值和 对于每颗基环树:找环→断边→树形dp(没有上司的舞会) #include<iostrea ...

  3. Redis的持久化之RDB方式

    RDB方式 Redis是默认支持的 优势:只有一个文件,时间间隔的数据,可以归档为一个文件,方便压缩转移(就一个文件) 劣势:如果宕机,数据损失比较大,因为它是没一个时间段进行持久化操作的.也就是积攒 ...

  4. Linux常用命令之-删除文件

    在测试过程中,有时候会需要删除一些文件,例如日志文件过大等,这里汇总一些删除文件常用的命 已这个系统内的文件为例 删除文件(即这个文件被删除) 单个删除:rm -f + 文件名 eg:rm -f  2 ...

  5. Python3学习之路~9.2 操作系统发展史介绍、进程与线程区别、线程语法、join、守护线程

    一 操作系统发展史介绍 参考链接:http://www.cnblogs.com/alex3714/articles/5230609.html 二 进程与线程 进程: 对各种资源管理的集合 就可以称为进 ...

  6. 一文讲透静电放电(ESD)保护(转发)

    一直想给大家讲讲ESD的理论,很经典.但是由于理论性太强,任何理论都是一环套一环的,如果你不会画鸡蛋,注定了你就不会画大卫. 先来谈静电放电(ESD: Electrostatic Discharge) ...

  7. Servlet服务器、客户端跳转

    服务期跳转.服务器端转发.服务器端重定向是一个意思使用“req.getRequestDispatcher(“跳转路径”).forward(req,resp)”实现服务器端转发 客户端发送请求后数据传输 ...

  8. python绘制中文词云图

    准备工作 主要用到Python的两个第三方库 jieba:中文分词工具 wordcloud:python下的词云生成工具 步骤 准备语料库,词云图需要的背景图片 使用jieba进行分词,去停用词,词频 ...

  9. 如何解决loss NAN的问题

    问题 如上图所示,第二次迭代时出现NAN值,nan表示无穷大或者非数值,一般是在一个数除以0或者log(0)时会出现无穷大.可能的原因有:1)学习率过大:2)batch过大:3)不当的损失函数等. 试 ...

  10. 用HTML5+原生js实现的推箱子游戏

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...