uglifyjs随笔
今天看书给推荐了几个代码压缩工具来压缩脚本
压缩脚本,指的是把脚本文件中不必要的字节,如空格和注释,统统删除,从而达到“压缩”文件的目的。有的精简程序甚至会重写你的部分代码,使用更短的变量名,从而减少整体文件的大小。
精简后的代码虽然不容易看懂,但却能大幅减少文件大小。多数情况下,我们应该有两个版本,一个是工作副本,可以修改代码并添加注释;另一个是精简副本,用于放在站点上。通常,为了与非精简版本区分开,最好在精简副本的文件名上加上min字样:
<script src="scripts/scriptName-min.js"></script>
于是书中给了几个有代表性的压缩代码工具:
Douglas Crockford的JSMin;
雅虎的YUI Compressor;
谷歌的Closure Compiler等。
我下载了一个uglifyjs,用来压缩JS文件,还能优化JS,它是基于node的,要想安装uglifyjs,首先要安装好node.js和npm
使用node -v 命令可以查看下安装的版本
接下来安装UglifyJS,命令为:npm install uglify-js -g 最后要把node和npm添加到环境变量中,然后就可以用uglifyjs来压缩js文件了
下面演示如何利用uglifyjs来压缩:
首先确定好要压缩的文件所在的位置,打开cmd,找到该文件的位置->然后输入命令:uglifyjs inet.js -o inet-min.js (这里我的文件名为inet.js,压缩后保存的名字为inet-min.js)
注意:uglifyjs inet.js -m -o inet.min.js 这条命令是把变量名改为a,b,c,d.....的
uglifyjs压缩批处理
我们不可能每次都打开cmd去键入压缩执行代码,容易写错不说(如上面那个结果图),还耗时,想想都会让人疯掉。懒人有懒法,花了点功夫,折腾了一个批处理文件,以后,想要压缩JS,只要双击运行这个.bat
文件就可以了!完整代码如下:
@echo off :: 设置压缩JS文件的根目录,脚本会自动按树层次查找和压缩所有的JS SET JSFOLDER=C:\Users\Administrator\Desktop\formini echo 正在查找JS文件 chdir /d %JSFOLDER% for /r . %%a in (*.js) do ( @echo 正在压缩 %%~a ... uglifyjs %%~fa -m -o %%~fa ) echo 完成! pause & exit
新建一个txt文档,任意命名,将上面的代码粘贴进去,修改JSFOLDER
后面的文件夹目录为你自己的,然后把.txt
后缀改成.bat
就可以啦!然后双击就可以批量使用uglifyjs压缩JS文件啦!
最后说一下,我感觉uglifyjs还是挺好用的,不过缺点就是只能压缩js不能压缩css。