gulp打包详解
gulp的作用
- 删除文件中冗余的内容,压缩文件,减小文件体积
- 实际项目中运行的都是压缩完成以后的文件
- 减小加载响应时间
gulp打包压缩对象
- html,css,js,sass,webserver
- 音频,图片,插件等正常情况下都是打包完成的,直接移动到dist文件中就可以
- 服务器食欲gulp一起绑定执行的,执行的是打包压缩好的程序文件
gulp执行过程
所有执行步骤必须严格遵守,尤其是语法规范必须严格执行
1、下载全局gulp
npm i -g gulp
2、创建项目文件
源文件src:
pages 存储html文件
css 存储css文件
sass 存储sass文件
images 存储图片
js 存储js文件
plug 存储插件
压缩文件 dist:
将压缩好的文件存放在dist中
文件名称与原文件名称保持一致
实际项目中为了保持文件名称路径一致,不添加多余的文件名后缀min等
3、文件初始化
整个项目第一次执行
npm init -y
实际项目中,或者下载git中的项目
下载 package.json 文件,到项目文件夹中
package.json 中 存储了所有依赖包的信息 以及 依赖包的相关设定
在项目路径下,执行 npm install 会自动安装依赖包
4、如果是第一次执行项目,需要逐一安装依赖包
如果是已经有完整的 package.json
将 package.json 复制拷贝到指定的文件夹中,执行 npm install 会自动安装记录的依赖包
安装依赖包 局部/项目依赖包
npm i gulp gulp 依赖包
npm i gulp-cssmin css压缩依赖包
npm i gulp-autoprefixer css添加前缀依赖包
npm i gulp-uglify ES5语法压缩依赖包
npm i gulp-babel 其他语法转化ES5语法规范
npm i @babel/core 与 gulp-babel 配合的依赖包
npm i @babel/preset-env
npm i htmlmin html压缩依赖包
npm i webserver 服务器依赖包
npm i del 删除文件依赖包
npm i sass sass文件依赖包
创建 gulpfile.js 文件,定义gulp打包压缩程序规范
1、加载所有依赖包
@babel/core 与 @babel/preset-env 是与gulp-babel配合使用的只需下载,不需要加载。
2、制定打包规范
a 、css 打包规范
const cssHandler = function(){
return gulp.src('./src/css/*.css')
.pipe( autoprefixer() )
.pipe( cssmin() )
.pipe( gulp.dest( './dist/css' ) )
}
"browserslist": [
"last 2 versions",
"IOS > 7",
"FireFox > 20"
]
b 、 js打包规范
const jsHandler = function(){
return gulp.src('./src/js/*.js')
.pipe( babel( {presets:['@babel/env']} ) )
.pipe( uglify() )
.pipe( gulp.dest( './dist/js' ) )
}
c 、 html打包压缩规范
d 、图片等不需要打包压缩的,就直接移动至dist文件夹
e , 设定 服务器执行规范 调用执行打包压缩好的文件
f、制定sass的编译打包压缩规范
设定监听程序
gulp打包详解的更多相关文章
- VS2010开发程序打包详解
VS2010开发程序打包详解 转自:http://blog.sina.com.cn/s/blog_473b385101019ufr.html 首先打开已经完成的工程,如图: 下面开始制作安装程序包. ...
- AssetBundle打包详解
Unity5.x AssetBundle打包详解 在网上查看了很多资料,想详细搞清楚AssetBundle的原理.以实现符合项目需求的打包工具和加载逻辑 1. AssetBundle是什么? Asse ...
- Hadoop基础-Idea打包详解之手动添加依赖(SequenceFile的压缩编解码器案例)
Hadoop基础-Idea打包详解之手动添加依赖(SequenceFile的压缩编解码器案例) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编辑配置文件(pml.xml)(我 ...
- python 打包详解
基本步骤: 1. 写setup.py 2. 运行“python setup.py sdist” 3. 在当前目录下会生成文件夹“dist”,打包好的代码就在dist中,以“.tar.gz”的形式被压缩 ...
- UDK游戏打包详解
转自:http://blog.sina.com.cn/s/blog_944177030100ycki.html 安装完的udk目录下有4个主要的文件夹 Binaries -这个文件夹包含游戏的exe程 ...
- [Android Pro] Java进阶学习:jar打包详解
jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布. 为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java存档 ...
- gulp使用详解
前面整理了 gulp使用入门,本节介绍相关的压缩 1.压缩js文件 步骤同基础步骤,相关可以看入门篇 npm install gulp-uglify --save-dev 引入js压缩库 gulpfi ...
- 使用intellJ导入非maven,gradle等非构建工程的依赖,发布工程时候的打包详解
一.导入 1.java项目在没有导入该jar包之前,如图: 2.点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Proje ...
- web程序打包详解
重要更新:鉴于很多小伙伴们说看不到图,我这边换了几个浏览器看了下,都看得到的,估计是网速问题,请耐心等待,另外,为了更好的方便大家学习,特此提供源码以及一个word文档,word文档就是本文内容 ...
随机推荐
- OpenStack Train版-13.安装块存储服务cinder(控制节点)
Cinder的核心功能是对卷的管理,允许对卷.卷的类型.卷的快照.卷备份进行处理.它为后端不同的存储设备提供给了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动,可以被Openstack整合 ...
- springboot(四) rabbitMQ demo
RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apa ...
- Taro 3.x in Action
Taro 3.x in Action React, 小程序 https://taro-docs.jd.com/taro/docs/README Taro Next 跨端, 跨框架 Taro 是一个开放 ...
- Flutter: SearchDelegate 委托showSearch定义搜索页面的内容
API class _MyHomeState extends State<MyHome> { List<String> _list = List.generate(100, ( ...
- PHP反序列化字符串逃逸
通过CTF比赛了解PHP反序列化,记录自己的学习. 借用哈大佬们的名言 任何具有一定结构的数据,如果经过了某些处理而把结构体本身的结构给打乱了,则有可能会产生漏洞. 0CTF 2016piapiapi ...
- 07.k近邻算法kNN
1.将数据分为测试数据和预测数据 2.数据分为data和target,data是矩阵,target是向量 3.将每条data(向量)绘制在坐标系中,就得到了一系列的点 4.根据每条data的targe ...
- Linux下的进程控制块(PCB)
本文转载自Linux下的进程控制块(PCB) 导语 进程在操作系统中都有一个户口,用于表示这个进程.这个户口操作系统被称为PCB(进程控制块),在linux中具体实现是 task_struct数据结构 ...
- ElasticSearch 文档及操作
公号:码农充电站pro 主页:https://codeshellme.github.io 本节介绍 ES 文档,索引及其基本操作. 1,ES 中的文档 在 ES 中,文档(Document)是可搜索数 ...
- uni-app小白入门自学笔记(二)
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14429616.html 目录 码文不易啊,转载请带上本文链接呀,感谢感谢 https ...
- 🎊 Element UI 新春快报
新年好,Element UI 开发团队给各位支持我们的开发者们拜个晚年,祝大家在新的一年里工作没 bug, 天天不加班. 在过去一年里,Element UI 团队在稳定维护 Vue 2.x 版本的同时 ...