Gulp的使用

gulp

自动化构建工具

写代码的时候会遵循一些框架的方式或者某些技术,或我们自己处理的模块化,但是这种代码是不能直接在浏览器运行的,这个过程我们就需要使用自动化构建工具,这些工具都是基于node环境

常用的工具

  • grunt 比较古老,现在用的很少
  • gulp pc端 jquery的项目打包更多使用gulp
  • webpack vue、react都是用的webpack

gulp使用

  1. 需要node环境

  2. 使用npm全局安装gulp npm i gulp -g,安装完成以后执行gulp -v 只要看到版本号就说明安装成功

  3. 创建项目目录

  4. 进入目录,执行npm init -y 初始化项目,会创建一个package.json文件,这个文件里就是当前项目的一些说明信息,也可以手动修改

  5. 规划目录解构,比如:src放源代码,dist就是根据src源代码使用gulp打包之后可以用来上线的代码

  6. 在当前项目局部安装gulp yarn add gulp -D,高版本npm会自动帮我们 --save保存在package.json文件的依赖里,这样的话即使删除node_modules也可以直接运行npm i 就可以根据package.json里面的所有依赖包信息把这些依赖包全局安装进来

    把所有的路径集中用paths对象来管理

  7. 制定压缩html的任务:执行yarn add gulp-htmlmin -D安装压缩html的插件,然后执行压缩任务,再通过module.exports 把这个任务暴露出去,就可以执行gulp html 来运行这个任务了

  8. 制定压缩js任务:

    安装压缩js的包yarn add gulp-uglify -D

    安装ES6转ES5的包yarn add gulp-babel @babel/core @babel/preset-env -D

  9. css任务:yarn add gulp-clean-css -D

  10. 开启服务器: yarn add gulp-connect -D

项目根目录是dist,所以项目中的一切路径都写成/开头的绝对路径,/指的就是dist,避免模块化之后相对位置发生变变化导致路径错误

  1. 在开启任务之前先把dist目录删掉: yarn add del -D

  2. 导出默认任务流,先同步执行delDist,再异步执行其他任务

  3. 监听html、js和css文件的变化,重启对应任务,再重启服务器

  4. 编译sass : yarn add node-sass gulp-sass -D

创建以gulpfile.js命名的文件
在这里插入图片描述

const gulp = require('gulp'),
  htmlmin = require('gulp-htmlmin'),
  uglify = require('gulp-uglify'),
  babel = require('gulp-babel'),
  cleanCss = require('gulp-clean-css'),
  connect = require('gulp-connect'),
  del = require('del'),
  sass = require('gulp-sass')
  
const paths = {
  html: {
    src: 'src/**/*.html',
    dest: 'dist'
  },
  js: {
    src: 'src/js/**/*.js',
    dest: 'dist/js'
  },
  css: {
    src: 'src/css/**/*.scss',
    dest: 'dist/css'
  },
  libs: {
    src: 'src/libs/**/*',
    dest: 'dist/libs'
  },
  img: {
    src: 'src/images/**/*',
    dest: 'dist/images'
  }
}
const delDist = () => del(['dist'])
const html = () => {
  // 把src目录下的所有目录的所有html文件取出来,通过管道压缩,再放到目的地dist目录里
  return gulp.src(paths.html.src)
    .pipe(htmlmin({
      removeComments: true,//清除HTML注释
      collapseWhitespace: true,//压缩HTML
      collapseBooleanAttributes: true,//省略布尔属性的值 <input checked="true"/> ==> <input checked />
      removeEmptyAttributes: true,//删除所有空格作属性值 <input id="" /> ==> <input />
      removeScriptTypeAttributes: false,//删除<script>的type="text/javascript"
      removeStyleLinkTypeAttributes: true,//删除<style>和<link>的type="text/css"
      minifyJS: true,//压缩页面JS
      minifyCSS: true//压缩页面CSS 
    })).pipe(gulp.dest(paths.html.dest)).pipe(connect.reload())
}

const js = () => {
  return gulp.src(paths.js.src)
    .pipe(babel({
      presets: ['@babel/env']
    }))
    .pipe(uglify())
    .pipe(gulp.dest(paths.js.dest)).pipe(connect.reload())
}
const css = () => {
  return gulp.src(paths.css.src)
    .pipe(sass())
    .pipe(clearCss())
    .pipe(gulp.dest(paths.css.dest))
    .pipe(connect.reload())
}
const server = () => {
  return connect.server({
    root: 'dist',
    port: 8020,
    livereload: true
  })
}
const libs = () => gulp.src(paths.libs.src).pipe(gulp.dest(paths.libs.dest))
const img = () => gulp.src(paths.img.src).pipe(gulp.dest(paths.img.dest))

gulp.watch(paths.html.src, html)
gulp.watch(paths.css.src, css)
gulp.watch(paths.js.src, js)
module.exports.default = gulp.series(delDist, gulp.parallel(html, js, css, server, libs, img))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值