压缩混淆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
npm install uglify-js -g
uglifyjs folder/dom.js -o folder/dom-min.js
会把目录folder下dom.js压缩,保存在同一个目录下。