压缩混淆Nodejs项目源文件 (babel/uglify2)

kevin.Zhu 发布于:2017-9-1 9:33 分类:Nodejs  有 18 人浏览,获得评论 0 条  

1. 如果源代码是ES6的、要先使用Babel进行转换成ES5 

2.使用Uglify进行压缩和混淆

步骤:

安装Uglify2 和Babel工具


npm install -g babel-cli  #如果你想使用箭头函数,那就得安装箭头函数插件 npm install babel-plugin-transform-es2015-arrow-functions


配置.balbelrc文件

Babel的配置文件是.babelrc,存放在项目的根目录下。使用Babel的第一步,就是配置这个文件。该文件用来设置转码规则插件,基本格式如下。 
注意:文件名为.balbelrc ##也可以直接使用命令行来配置 、 具体查看babel -h 


{ "presets": [], "plugins": [] }

presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装。


# ES2015转码规则 $ npm install --save-dev babel-preset-es2015 

# react转码规则 $ npm install --save-dev babel-preset-react 

# ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个 

$ npm install --save-dev babel-preset-stage-0 

$ npm install --save-dev babel-preset-stage-1

$ npm install --save-dev babel-preset-stage-2 

$ npm install --save-dev babel-preset-stage-3


然后,将这些规则加入.babelrc。

{ "presets": [ "es2015", "react", "stage-2" ], "plugins": [] }

注意:这块中,用到哪个添加哪个,如果添加了如:’react‘而未做相关设置,babel将不能识别切不能正常编译


命令行转码babel-cli

# 转码结果输出到标准输出 $ babel example.js 


# 转码结果写入一个文件 # --out-file 或 -o 参数指定输出文件 $ babel example.js --out-file compiled.js 

# 或者 $ babel example.js -o compiled.js 

# 整个目录转码 # --out-dir 或 -d 参数指定输出目录 $ babel src --out-dir lib # 或者 $ babel src -d lib 

# -s 参数生成source map文件 $ babel src -d lib -s


uglifyjs的使用(对js的压缩混淆)

npm install uglify-js -g


uglifyjs folder/dom.js -o folder/dom-min.js

会把目录folder下dom.js压缩,保存在同一个目录下。