网上搜索了,目前主流的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. mock server 实现get方法的接口(二)

    mock server 实现get方法的接口(二) 下面是实现查询品牌的接口demo: 1.当response数据量小的时候,可以直接使用json, mock会自动设置headers为applicat ...

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

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

  3. Python append()方法--list

    描述 append()方法:用于向列表末尾添加新的对象. 语法 语法格式:list.append(object) 参数 object:添加到列表末尾的对象,这里的对象可以是一个元素.列表.字典或元组等 ...

  4. 【Python全栈-JavaScript】jQuery效果

    jQuery效果 jQuery 效果函数: 方法 描述 animate() 对被选元素应用“自定义”的动画 clearQueue() 对被选元素移除所有排队的函数(仍未运行的) delay() 对被选 ...

  5. python 不知道是啥

    1.判断两个大文件是否是同一个文件 import os import hashlib import time start = time.time() path1 = r"E:\视频资料\el ...

  6. !!在js中的用法

    var obj = ""; //undefinedconsole.log(!!obj);  //false(强制转换成Boolean类型)

  7. CDI services--Scope(生命周期)&&EL.(Sp El)

    一.EL/SpEL 1.EL语言(CDI与表达式语言(EL)集成,允许在JavaServer Faces页面或JavaServer Pages页面中直接使用任何组件) 1)概述:EL是JSP内置的表达 ...

  8. javascript将base64编码的图片数据转换为file并提交

    /** @param base64Codes 图片的base64编码 */ function sumitImageFile(base64Codes){ var form=document.forms[ ...

  9. 《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?

    在本节中,您将看到ASP.NET Core应用程序如何运行的,从请求URL开始到页面呈现在浏览器中. 为此,您将看到 一个HTTP请求在Web服务器中是如何被处理的.ASP.NET Core如何扩展该 ...

  10. laravel5.7 migrate 时报错 Specified key was too long error 解决方案

    今天在数据迁移时突然报了 Specified key was too long error 的错,解决掉之后就把这个问题记录下来. 报错原因 Laravel 5.4 +  默认使用 utf8mb4 字 ...