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
随机推荐
- Python的pandas
pandas 是python中很重要的组件,网上关于pandas 的文章也很多,比如Python科学计算之Pandas 和 Python数据分析入门 Pandas基于两种数据类型:series与dat ...
- C# Monitor实现
Monitor的code如下,非常简单: public static class Monitor { public static extern void Enter(Object obj); publ ...
- js-将一个对象转换成一个新的对象
/** * 对象转换成一个新的对象 * @param object * @private */ function _yh_tranformObject(object){ if(object == nu ...
- Docker构建YApi镜像, Docker安装YApi, Docker部署YApi
概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...
- SharePoint online 获取文件版本记录
endpoint: _api/web/GetFileByServerRelativeUrl('/allDoc/xxx.pdf')/Versions 问题: 第一次使用,无论在本地还是o365上,都只返 ...
- linux 安装nvm,通过nvm安装node
1,nvm git地址点击打开链接,安装命令 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh ...
- 时间序列异常检测算法S-H-ESD
1. 基于统计的异常检测 Grubbs' Test Grubbs' Test为一种假设检验的方法,常被用来检验服从正太分布的单变量数据集(univariate data set)\(Y\) 中的单个异 ...
- MySql 建表、添加字段、修改字段、添加索引SQL语句写法及SQL索引
---------添加索引方法--------- .添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `c ...
- Linux将yum源设置为阿里云的镜像源
第一步:备份原有镜像源 mv /etc/yum.repo.d/Centos-Base.repo /etc/yum.repo.d/Centos-Base.repo.bak 第二步:下载阿里云的镜像源 w ...
- cmder里ls、pwd、自定义的alias等一系列命令都无法使用
win10下cmder很多命令history pwd无法使用,ls字体也没有颜色显示,其根本原因是win10下cmd控制台版本问题,切换回老版本就OK了