28、gulp
一.gulp的作用?
1.gulp-sass : 编译sass
2.gulp-rename : 重命名
3.gulp-cssnano : 压缩css
4.gulp-concat : 合并文件
5.gulp-uglify : 压缩js
6.gulp-babel : 将ES6转为ES5
二.如何使用gulp?
1.全局安装gulp: cnpm install -g gulp
2.在项目根目录下初始化package.json : cnpm init -y
3.在项目根目录下局部安装gulp : cnpm install --save-dev gulp
4.在项目根目录下局部安装所需插件 : cnpm install --save-dev 插件
5.在项目根目录下创建gulp的配置文件: gulpfile.js
三.gulpAPI
1. gulp.src() : 找到需要处理的文件URL
2. gulp.dest(): 将处理后的文件放置目标目录的URL
3. gulp.task(): 创建并发布任务
4. gulp.watch() : 监听任务
5.连接方法的方法: pipe()
四.配置gulpfile.js文件
1.通过require()将所需的插件引入配置文件中
2.创建并发布任务
gulp.task("任务名",function(){
gulp.src("入口文件URL").pipe(调用插件()).pipe(gulp.dest('出口文件路径'));
})
//监听任务
gulp.task('任务名',function(){
gulp.watch(['监听的源文件'],['对应的任务名'])
})
3.运行gulp任务 gulp 任务名
gulpfile.js
//导入所需插件
const gulp = require('gulp'); //导入gulp
const rename = require('gulp-rename'); //重命名
const concat = require('gulp-concat'); //合并文件
const uglify = require('gulp-uglify'); //压缩js
//创建并发布任务
gulp.task("hello",function(){
console.log('hello world');
})
gulp.task('concatJS',function(){
gulp.src("src/js/*.js").pipe(concat("main.js")).pipe(rename({"suffix" : ".min"})).pipe(uglify()).pipe(gulp.dest('dist'));
})
//发布监听任务
gulp.task('default',function(){
gulp.watch(['src/js/*.js'],['concatJS']);
})
五.配置gulp-babel(将ES6转为ES5)
1.在项目根目录下: cnpm install --save-dev gulp-babel babel-core babel-preset-env
2.配置gulpfile.js
var gulp = require('gulp');
var babel = require('gulp-babel');
gulp.task("babel",function(){
gulp.src('源文件的URL').pipe(babel({"presets" : ["env"]})).pipe(gulp.dest('目标路径'));
})
六.ES6模块化
1. export :导出模块
2. import : 导入模块
3.导出模块的几种写法
1> 先创建模块,最后导出模块
export {模块1,模块2,模块3,……}
导入: import {模块1,模块2,模块3,……} from "导入模块的路径"
2> 利用别名导出 as
export {原名 as 别名,原名 as 别名}
导入: import {模块1,模块2,模块3,……} from "导入模块的路径"
3> 边创建模块,边导出
export 模块1;
export 模块 2;
……
导入: import {模块1,模块2,模块3,……} from "导入模块的路径"
4> 匿名导出模块(只能有一个模块)
export default 模块
导入 : import 自定义一个名字 from "导入模块的路径"
var gulp = require('gulp'),
babel = require('gulp-babel');
gulp.task('babel',function(){
gulp.src('./src/js/*.js').pipe(babel({
presets : ['es2015']
})).pipe(gulp.dest('src/js/es5'));
})
28、gulp的更多相关文章
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
- 前端构建工具的用法—grunt、gulp、browserify、webpack
随着前端项目的飞速发展,项目越来越大.文件越来越多,前端工程化的工具也越来越多.下面介绍目前最流行的四种构建工具——grunt.gulp.browserify.webpack 所有的构建工具都是基于N ...
- 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍
前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...
- JavaScript自动化构建工具入门----grunt、gulp、webpack
蛮荒时代的程序员: 做项目的时候,会有大量的js 大量的css 需要合并压缩,大量时间需要用到合并压缩 在前端开发中会出现很多重复性无意义的劳动 自动化时代的程序员: 希望一切都可以自动完成 ...
- Grunt、Gulp和Webpack对比
1.Grunt处理Sass转换成CSS过程 2.Gulp处理Sass转换成CSS过程 3.Webpack执行原理 4.区别 (1)grunt和gulp都类似于webapck的中的scripts,属于任 ...
- Grunt、gulp、webpack、不要听着高大上你就上,试试Codekit?
下载地址:https://incident57.com/codekit/ 官方网站了解更多 要编译Less.Sass.Stylus, CoffeeScript, Typescript, Jade, H ...
- Scss开发临时学习过程||webpack、npm、gulp配置
SCSS语法: 假设变量申明带有!default,那么如果在此申明之前没有这个变量的申明,则用这个值,反之如果之前有申明,则用申明的值. ‘...’传递多个参数: @mixin box-shadow( ...
- JavaScript自动化构建工具grunt、gulp、webpack介绍
前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...
- 28、[源码]-AOP原理-@EnableAspectJAutoProxy
28.[源码]-AOP原理-@EnableAspectJAutoProxy
随机推荐
- ConditionalOnProperty
配置Spring Boot通过@ConditionalOnProperty来控制Configuration是否生效 1.matchIfMissing属性:从application.properties ...
- Netty buffer缓冲区ByteBuf
Netty buffer缓冲区ByteBuf byte 作为网络传输的基本单位,因此数据在网络中进行传输时需要将数据转换成byte进行传输.netty提供了专门的缓冲区byte生成api ByteBu ...
- jQuery CSS 操作 - offset() 方法
今天在一个页面需要知道jquery版本号,来决定使用什么样的方法,有以下方式可以获取到 $.fn.jquery $.prototype.jquery 这两种方式都可以获取到jquery的版本号 --- ...
- table表格内容溢出处理
直接在table标签加上 style="table-layout:fixed;word-wrap:break-word;"
- EditPlus 自用正则替换
分享下自己用EditPlus 的一些些正则技巧,editplus版本v3.5.1 1.替换a标签链接地址为空 例如: 把所有的 1 <a href="..囧.."> 替 ...
- TensorFlow实战Google深度学习框架10-12章学习笔记
目录 第10章 TensorFlow高层封装 第11章 TensorBoard可视化 第12章 TensorFlow计算加速 第10章 TensorFlow高层封装 目前比较流行的TensorFlow ...
- Django表单介绍
HTML 表单 在HTML中,表单是<form>...</form> 之间元素的集合,它们允许访问者输入文本.选择选项.操作对象和控制等等,然后将信息发送回服务器. 某些表单的 ...
- Springboot2.x 集成jsp
1.添加pom依赖 <!--引入springboot 内嵌tomcat对jsp的解析包--> <dependency> <groupId>org.apache.to ...
- python sphinx 文档自动生成方法
## sphinx 生成开发文档#### 配置 1. 运行如下命令,即可生成 conf.py index.rst Makefile 三个文件: `sphinx-quickstart` 2. conf. ...
- [elk]bin/elasticsearch-sql-cli使用
在探sql groupby语句 这个长久不用竟然忘记 part name age dep1 ara 22 dep1 arb 22 dep1 arc 22 dep2 ema 10 dep2 emc 11 ...