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文档就是本文内容 ...
随机推荐
- CS224--1:语言模型和词向量
参考: https://www.cnblogs.com/pinard/p/7243513.html https://blog.csdn.net/cindy_1102/article/details/8 ...
- 在kubernetes集群里集成Apollo配置中心(6)之实战使用apollo分环境管理dubbo服务
生产实践 1.迭代新需求/修复BUG(编码--->提git) 2.测试环境发版,测试(应用通过编译打包发布至test命名空间) 3.测试通过,上线(应用镜像直接发布至prod命名空间) 系统架构 ...
- OpenStack Train版-10.安装neutron网络服务(网络节点:可选)
可选:安装neutron网络服务节点(neutron01网络节点192.168.0.30)网络配置按照官网文档的租户自助网络 配置系统参数 echo 'net.ipv4.ip_forward = 1' ...
- JVM升华篇
01 Garbage Collect(垃圾回收) 1.1 如何确定一个对象是垃圾? 要想进行垃圾回收,得先知道什么样的对象是垃圾. 1.1.1 引用计数法 对于某个对象而言,只要应用程序中持有该对象的 ...
- javascript输出数据到文件
function export(name, data) { var urlObject = window.URL || window.webkitURL || window var export_bl ...
- vue stop event bug
vue stop event bug [Vue warn]: Error in v-on handler: "TypeError: e.prevntDefault is not a func ...
- CSS pseudo classes All In One
CSS pseudo classes All In One CSS 伪类 https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes ...
- 灰度发布 & A/B 测试
灰度发布 & A/B 测试 http://www.woshipm.com/pmd/573429.html 8 https://testerhome.com/topics/15746 scree ...
- Flutter 避免阻塞ui线程
import 'dart:async'; import 'dart:isolate'; import 'package:flutter/material.dart'; import 'package: ...
- ASP.NET Core中如何对不同类型的用户进行区别限流
老板提出了一个新需求,从某某天起,免费用户每天只能查询100次,收费用户100W次. 这是一个限流问题,聪明的你也一定想到了如何去做:记录用户每一天的查询次数,然后根据当前用户的类型使用不同的数字做比 ...