最近一段时间,在做一个很古老的项目,简直是上古时期的写作方式了。

还是那些传统的方式,一个页面从上到下引入几十个「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 压缩混淆 “上古”时期的项目文件相关推荐

  1. spingboot2.0以上利用YUI Compressor Maven结合压缩混淆JS/CSS

    上一章节我们说了利用allatori技术对java class 文件内容进行 混淆,防止他人巧取代码技术,这一章节我们直接进入主题,利用YUI Compressor Maven 进行对前端静态资源JS ...

  2. 利用gulp处理简单的前端问题

    利用gulp处理js和less或者sass或者css 文件目录 /项目根目录 -gulpfile.js -package.json -/images -/src --/less --/js --*.h ...

  3. webpack打包压缩混淆_前端打包利器:webpack工具

    一.什么是WebPack,为什么要使用它? 1.为什要使用WebPack 现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包.为了简化开发的复杂度,前端 ...

  4. gulp压缩整合css和js文件

    gulp压缩整合css和js文件 原创 dadaDaShiXiong 最后发布于2018-09-18 14:28:38 阅读数 1164 收藏 发布于2018-09-18 14:28:38 版权声明: ...

  5. es6语法转es5并压缩混淆代码

    es6语法转es5并压缩混淆代码,对兼容和性能做优化 需求分析 1.用es6的语法写了一个工具类 2.需要兼容除chrome外较新的浏览器 3.隐藏源码.缩小网络消耗 利用工具 babel 用于es6 ...

  6. gulp 压缩html文件,gulp压缩js

    请务必理解如下章节后阅读此章节: 压缩 js 代码可降低 js 文件大小,提高页面打开速度.在不利用 gulp 时我们需要通过各种工具手动完成压缩工作. 所有的 gulp 代码编写都可以看做是将规律转 ...

  7. gulp 压缩html内的js,gulp实战技巧之gulp-uglify压缩js

    摘要: 前面讲了压缩css的几款插件,这篇就介绍下压缩js的一款插件--gulp-uglify.使用gulp-uglify可以压缩我们的js代码,也可以使用其提供的混淆功能对代码进行简单的混淆,注意是 ...

  8. js代码压缩混淆uglify

    -c压缩,-m混淆命名,-b格式化输出js文件(否则为只有一行),-o目标输出文件. 压缩一个文件: uglifyjs main.js -o publish/main.js -c -m -b 压缩多个 ...

  9. gulp压缩js转义es6的常见错误及解决方案

    gulp压缩js转义es6的常见错误及解决方案 参考文章: (1)gulp压缩js转义es6的常见错误及解决方案 (2)https://www.cnblogs.com/uimeigui/p/11797 ...

最新文章

  1. 【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门
  2. 谈 JavaScript 浮点数计算精度问题(如0.1+0.2!==0.3)
  3. lisp压盖处理_一种压盖的制造方法
  4. Lua 生成凌晨与午夜时间戳的函数
  5. C#高效编程话题集1(每期10话题)
  6. P5357 【模板】AC自动机(二次加强版) fail树
  7. 荣新linux培训,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  8. 十条不错的编程观点(转)
  9. nginx+双tomcat集群负载均衡(一台机器)
  10. 编写一个Applet在屏幕上画椭圆,椭圆的大小和位置由鼠标决定
  11. 2017 Multi-University Training Contest - Team 7:1010. Just do it(组合数?)
  12. oracle数据库plsqldev导出表、表结构的方法
  13. POI介绍及视频教程
  14. 60分钟教你上手PyTorch + 迁移学习
  15. 【Web技术】441- 蚂蚁前端研发最佳实践
  16. dubbo 的SPI机制Adaptive适配
  17. 《美食街》项目---(登录篇){ ‘blur‘焦点属性,resetFields(),meta对象,$confirm,window.location.href=‘/‘}
  18. 苹果开发者账号官方翻译篇-配置APP服务-苹果支付
  19. HTTP请求工具类,支持https
  20. Debian/Linux 下无线网卡驱动的安装

热门文章

  1. 《深入Java虚拟机》笔记
  2. asp.net MVC3 弹出窗口里嵌一个View代码
  3. Android自定义Shape
  4. Informix IDS 11系统经管(918考试)认证指南,第 5 部分: 数据库做事器行使(5)
  5. zeekooper集群搭建_How to do - ZooKeeper集群搭建(我见过最详细的完整教学)
  6. python getopts_getopts用法
  7. 北斗导航 | RDSS短报文之数据解压缩算法:LZ77
  8. 基于Javaweb的订餐管理系统的介绍和分析
  9. 本地图片转base64_从一道面试题说起:GET 请求能传图片吗?
  10. c++string替换指定位置字符_Excel数据分析:如何替换字符串中的指定字符?