使用Gulp压缩混淆JS的相关配置
1、把npm 更新到最新版本
npm install -g npm
2、把npm源切换到taobao源
全局安装nrm:npm install -g nrm
查看正在使用的源:nrm ls
添加源,例如:nrm add taobao https://registry.npm.taobao.org
删除源,例如:nrm del taobao
使用源:例如:nrm use taobao
测试源的速度:nrm test
3、全局安装gulp
npm install --global gulp
4、在文件根目录初始化npm,出现package.json
npm init -y
5、安装依赖
npm install gulp --save-dev
6、在根目录下面新建gulpfile.js文件,并配置
var gulp = require('gulp');
gulp.task('default', function() {
// 将你的默认的任务代码放在这
});
7、安装关于gulp的依赖
npm install gulp-uglify gulp-rename gulp-concat gulp-clean gulp-notify --save-dev
8、编辑gulpfile.js,如下:
var gulp=require('gulp'), //gulp基础库
minifycss=require('gulp-minify-css'), //css压缩
concat=require('gulp-concat'), //合并文件
uglify=require('gulp-uglify'), //js压缩
rename=require('gulp-rename'), //文件重命名
notify=require('gulp-notify'); //提示
gulp.task("minjs", function () { //minjs为任务名
return gulp.src("./dest/*.js") //需要压缩的文件目录
.pipe(uglify()) //压缩混淆,此依赖需要引入
.pipe(gulp.dest("./out")) //输出压缩混淆后的目录
});
9、全局安装babel-cli
npm install --global babel-cli
10、安装babel依赖插件
npm install babel-preset-es2015 --save-dev
11、在根目录新建.babelrc文件,并编辑
{
"presets" : ["es2015"]
}
12、修改命令
"build":"babel j -d dest", //ES6 转 ES5 并输出到文件夹 dest
"minjs":"gulp minjs" //压缩混淆命令
13、运行命令(顺序不要变,先把ES6转化问ES5,然后开始压缩混淆,uglify不支持ES6压缩混淆,会报错)
npm run build
npm run minjs
14、为了方便执行,可以把命令编写成shell命令来使用git bash执行
在项目根目录新建文件tools.sh
编辑tools.sh
echo "准备,开始执行了"
npm run build && npm run minjs
保存
使用git bash把当前目录切到项目根目录,执行 ./tools.sh 就可以了