UglifyJS 压缩 合并 JS文件

在引用库还有其他文件时,原本的项目文件很多,这时候就需要压缩合并,使用方法如下:

安装:

npm install uglify-js -g

将uglifyjs安装为全局变量,方便我们在任何地方使用。

下面是shell命令的中文解释:

* source-map [string],生成source map文件。
* –source-map-root [string], 指定生成source map的源文件位置。
* –source-map-url [string], 指定source map的网站访问地址。
* –source-map-include-sources,设置源文件被包含到source map中。
* –in-source-map,自定义source map,用于其他工具生成的source map。
* –screw-ie8, 用于生成完全兼容IE6-8的代码。
* –expr, 解析一个表达式或JSON。
* -p, –prefix [string], 跳过原始文件名的前缀部分,用于指定源文件、source map和输出文件的相对路径。
* -o, –output [string], 输出到文件。
* -b, –beautify [string], 输出带格式化的文件。
* -m, –mangle [string], 输出变量名替换后的文件。
* -r, –reserved [string], 保留变量名,排除mangle过程。
* -c, –compress [string], 输出压缩后的文件。
* -d, –define [string], 全局定义。
* -e, –enclose [string], 把所有代码合并到一个函数中,并提供一个可配置的参数列表。
* –comments [string], 增加注释参数,如@license、@preserve。
* –preamble [string], 增加注释描述。
* –stats, 显示运行状态。
* –acorn, 用Acorn做解析。
* –spidermonkey, 解析SpiderMonkey格式的文件,如JSON。
* –self, 把UglifyJS2做为依赖库一起打包。
* –wrap, 把所有代码合并到一个函数中。
* –export-all, 和–wrap一起使用,自动输出到全局环境。
* –lint, 显示环境的异常信息。
* -v, –verbose, 打印运行日志详细。
* -V, –version, 打印版本号。
* –noerr, 忽略错误命令行参数。

具体使用:

1.单个文件压缩:

-c压缩,-m混淆命名,-b格式化输出js文件(否则为只有一行), -o目标输出文件

进入到j要压缩的 js文件目录下,使用 终端命令

uglifyjs demo1.js  -c -m -o demo1.min.js

2.多文件合并压缩:

进入到js文件目录下,使用 终端命令

uglifyjs demo1.js demo2.js demo3.js -c -m -o all.min.js

为了快捷操作 可以编写一个bat文件,放入到bat中

@ECHO OFF
uglifyjs demo1.js demo2.js demo3.js -c -m -o all.min.js

PS:注意 

合并打包时 要按照 文件的引入 或 代码逻辑的 声明顺序进行 按序列合并打包

例如:有两个js文件:a.js  b.js

在a.js里声明了  一个变量 

window.bianlianA = xxx;

然后在 b.js 文件里某个方法 使用了此变量 

function B(){
    var bianlianb = window.bianlianA;
    //其他逻辑
}

合并打包时 需用 先打包a.js 再打包 b.js方式

uglifyjs a.js b.js  -c -m -o all.min.js

 

你可能感兴趣的:(前端)