如何利用 gulp 压缩混淆 “上古”时期的项目文件
最近一段时间,在做一个很古老的项目,简直是上古时期的写作方式了。
还是那些传统的方式,一个页面从上到下引入几十个「js」文件,里面到处充斥着 jquery 的 DOM 操作,维护起来相当的糟糕,变量与函数之间跨文件引用。
<script src="js/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/url.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.cookie.js" type="text/javascript" charset="utf-8"></script>
<script src="offlinemap/map_load.js"></script>
<script src="js/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery-ui-datepicker.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery-ui-timepicker-addon.js" type="text/javascript" charset="utf-8"></script>
<script src="js/dtree.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.ui.touch.punch.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/bootstrap.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/echarts.common.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="js/index.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.ztree.core.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.ztree.excheck.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.ztree.exedit.js" type="text/javascript" charset="utf-8"></script>
复制代码
虽然很难,但是经过一段时间的努力吧,算是有个稳定的版本了,所以在上线之前呢,我们是需要把代码给压缩混淆一下,一来是减少文件的体积,二来是去掉源码的可读性。
接下来,我们就直接进入主题,废话不多少,如何利用 gulp 去做代码的压缩与混淆。
至于 gulp 是什么我就不做过多的解释了,它是一个自动化的构建工具。
安装
全局安装 gulp
npm install --global gulp
复制代码
作为项目的依赖安装
npm install --save-dev gulp
复制代码
创建文件
在项目的根目录下,创建名为 gulpfile.js 的文件
var gulp = require('gulp');gulp.task('default', function() {//需要处理的任务
});
复制代码
运行
gulp taskname
复制代码
压缩html
//压缩html
gulp.task("minhtml", function () {gulp.src("./src/*.html").pipe(htmlmin({collapseWhitespace: true, //去空格removeComments: true //去注释})).pipe(gulp.dest("./dist"))
});
复制代码
压缩css
//压缩css
gulp.task("mincss", function () {gulp.src("./src/*.css").pipe(cssmin()).pipe(gulp.dest("./dist/css"));
});
复制代码
压缩混淆js
//压缩js
gulp.task("minjs", function () {return gulp.src("./src/js/*.js").pipe(uglify()).pipe(gulp.dest("./dist/js")
});
复制代码
以上,就可以愉快的一键压缩我们的代码了,当然项目中肯定不止这么简单的需求,还有更多更玩的,大家可以根据自己的需求定制一些个性话东西。
如何利用 gulp 压缩混淆 “上古”时期的项目文件相关推荐
- spingboot2.0以上利用YUI Compressor Maven结合压缩混淆JS/CSS
上一章节我们说了利用allatori技术对java class 文件内容进行 混淆,防止他人巧取代码技术,这一章节我们直接进入主题,利用YUI Compressor Maven 进行对前端静态资源JS ...
- 利用gulp处理简单的前端问题
利用gulp处理js和less或者sass或者css 文件目录 /项目根目录 -gulpfile.js -package.json -/images -/src --/less --/js --*.h ...
- webpack打包压缩混淆_前端打包利器:webpack工具
一.什么是WebPack,为什么要使用它? 1.为什要使用WebPack 现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包.为了简化开发的复杂度,前端 ...
- gulp压缩整合css和js文件
gulp压缩整合css和js文件 原创 dadaDaShiXiong 最后发布于2018-09-18 14:28:38 阅读数 1164 收藏 发布于2018-09-18 14:28:38 版权声明: ...
- es6语法转es5并压缩混淆代码
es6语法转es5并压缩混淆代码,对兼容和性能做优化 需求分析 1.用es6的语法写了一个工具类 2.需要兼容除chrome外较新的浏览器 3.隐藏源码.缩小网络消耗 利用工具 babel 用于es6 ...
- gulp 压缩html文件,gulp压缩js
请务必理解如下章节后阅读此章节: 压缩 js 代码可降低 js 文件大小,提高页面打开速度.在不利用 gulp 时我们需要通过各种工具手动完成压缩工作. 所有的 gulp 代码编写都可以看做是将规律转 ...
- gulp 压缩html内的js,gulp实战技巧之gulp-uglify压缩js
摘要: 前面讲了压缩css的几款插件,这篇就介绍下压缩js的一款插件--gulp-uglify.使用gulp-uglify可以压缩我们的js代码,也可以使用其提供的混淆功能对代码进行简单的混淆,注意是 ...
- js代码压缩混淆uglify
-c压缩,-m混淆命名,-b格式化输出js文件(否则为只有一行),-o目标输出文件. 压缩一个文件: uglifyjs main.js -o publish/main.js -c -m -b 压缩多个 ...
- gulp压缩js转义es6的常见错误及解决方案
gulp压缩js转义es6的常见错误及解决方案 参考文章: (1)gulp压缩js转义es6的常见错误及解决方案 (2)https://www.cnblogs.com/uimeigui/p/11797 ...
最新文章
- 【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门
- 谈 JavaScript 浮点数计算精度问题(如0.1+0.2!==0.3)
- lisp压盖处理_一种压盖的制造方法
- Lua 生成凌晨与午夜时间戳的函数
- C#高效编程话题集1(每期10话题)
- P5357 【模板】AC自动机(二次加强版) fail树
- 荣新linux培训,51CTO博客-专业IT技术博客创作平台-技术成就梦想
- 十条不错的编程观点(转)
- nginx+双tomcat集群负载均衡(一台机器)
- 编写一个Applet在屏幕上画椭圆,椭圆的大小和位置由鼠标决定
- 2017 Multi-University Training Contest - Team 7:1010. Just do it(组合数?)
- oracle数据库plsqldev导出表、表结构的方法
- POI介绍及视频教程
- 60分钟教你上手PyTorch + 迁移学习
- 【Web技术】441- 蚂蚁前端研发最佳实践
- dubbo 的SPI机制Adaptive适配
- 《美食街》项目---(登录篇){ ‘blur‘焦点属性,resetFields(),meta对象,$confirm,window.location.href=‘/‘}
- 苹果开发者账号官方翻译篇-配置APP服务-苹果支付
- HTTP请求工具类,支持https
- Debian/Linux 下无线网卡驱动的安装
热门文章
- 《深入Java虚拟机》笔记
- asp.net MVC3 弹出窗口里嵌一个View代码
- Android自定义Shape
- Informix IDS 11系统经管(918考试)认证指南,第 5 部分: 数据库做事器行使(5)
- zeekooper集群搭建_How to do - ZooKeeper集群搭建(我见过最详细的完整教学)
- python getopts_getopts用法
- 北斗导航 | RDSS短报文之数据解压缩算法:LZ77
- 基于Javaweb的订餐管理系统的介绍和分析
- 本地图片转base64_从一道面试题说起:GET 请求能传图片吗?
- c++string替换指定位置字符_Excel数据分析:如何替换字符串中的指定字符?