JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
网上搜索了,目前主流的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的基本用法的更多相关文章
- Google Closure Compiler高级压缩混淆Javascript代码
一.背景 前端开发中,特别是移动端,Javascript代码压缩已经成为上线必备条件. 如今主流的Js代码压缩工具主要有: 1)Uglify http://lisperator.net/uglifyj ...
- 使用Google Closure Compiler高级压缩Javascript代码
背景 前端开发中,特别是移动端,Javascript代码压缩已经成为上线必备条件. 如今主流的Js代码压缩工具主要有: 1)Uglify http://lisperator.net/uglifyjs/ ...
- 使用Google Closure Compiler高级压缩Javascript代码注意的几个地方
介绍 GCC(Google Closure Compiler)是由谷歌发布的Js代码压缩编译工具.它可以做到分析Js的代码,移除不需要的代码(dead code),并且去重写它,最后再进行压缩. 三种 ...
- 使用Google Closure Compiler全力压缩代码(转)
JavaScript压缩代码的重要性不言而喻,如今的压缩工具也有不少,例如YUI Compressor,Google Closure Compiler,以及现在比较红火的UglifyJS.Uglify ...
- Google Closure Compiler 高级模式及更多思考(转)
前言 Google Closure Compiler 是 Google Closure Tools 的一员,在 2009 年底被 Google 释出,早先,有 玉伯 的 Closure Compile ...
- 推荐15个最好用的 JavaScript 代码压缩工具
JavaScript 代码压缩是指去除源代码里的所有不必要的字符,而不改变其功能的过程.这些不必要的字符通常包括空格字符,换行字符,注释以及块分隔符等用来增加可读性的代码,但并不需要它来执行. 在这篇 ...
- 主流JavaScript框架(Dojo、Google Closure、jQuery、Prototype、Mootools和YUI)的分析和对比
本文主要选取了目前比较流行的JavaScript框架Dojo.Google Closure.jQuery.Prototype.Mootools和YUI进行对比,主要是根据网上的资料整理而成,希望可以供 ...
- bootstrap-datetimepicker在经过GC(Google Closure Compiler)压缩后无法使用的解决方案
将压缩级别由simple改成whitespace 问题就是这样之后压缩后的文件大了很多 <?xml version="1.0"?> <project name=& ...
- 如何写出优雅的JavaScript代码 ? && 注释
如何写出优雅的JavaScript代码 ? 之前总结过一篇<如何写出优雅的css代码?>, 但是前一段时间发现自己的js代码写的真的很任性,没有任何的优雅可言,于是这里总结以下写js时应当 ...
随机推荐
- CSIS 1119B/C Introduction to Data Structures and Algorithms
CSIS 1119B/C Introduction to Data Structures and Algorithms Programming Assignment TwoDue Date: 18 A ...
- Elasticsearch学习笔记(十一)Mapping原理
一.Mapping的功能作用 Mapping是定义如何存储和索引一个document及其所包含字段的过程. Mapping是index和type的元数据,每个type都有自己的一个mapping,决定 ...
- 改造一下jeecg中的部门树
假装有需求 关于 jeecg 提供的部门树,相信很多小伙伴都已经用过了,今天假装有那么一个需求 "部门树弹窗选择默认展开下级部门",带着这个需求再次去探索一下吧. 一.改造之前的部 ...
- SharePoint 2010 查看dll的PublicKeyToken值方法
在做asp.net开发过程中,偶尔对有些dll,进行强制签名,那么在注册dll到gac的时候,就需要知道dll的PublicKeyToken值,如何通过简单的方法,来获得这个值呢,下面是一个很好又实用 ...
- Django---请求、响应
Django的请求和响应 一.客户端向服务器的请求简介 二.响应对象构造 回到顶部 一.客户端向服务器的请求简介 1.c-->s的传参的4中途径 提取的URL的特定部分,如/天气/北京/ 201 ...
- MySQL 允许局域网内其他网段主机访问本地MySql数据库
Mac下和Windows下均适合
- DDD领域驱动
DDD领域驱动领域驱动模型.模型驱动代码接触到需求第一步就是考虑领域模型,而不是将其切割成数据和行为,然后数据用数据库实现,行为使用服务实现,最后造成需求的首肢分离.DDD让你首先考虑的是业务语言而不 ...
- FB面经 Prepare: Even Tree
You are given a tree (a simple connected graph with no cycles). The tree has nodes numbered from to ...
- 【原创】canvas裁剪上传图片异步提交
<!DOCTYPE html> canvas裁剪图片,纯前端 裁剪文件 后台返回获取裁剪后的文件
- 使用vscode调试小段的typescript代码
最近在学习typescript.学习 嘛,当然免不了各种练习,试错.那么使用vscode就可以很方便的做到. 首先是安装node.js.我们知道,node.js提供了js脱离浏览器的执行平台.node ...