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
随机推荐
- MyBatis(四):mybatis中使用in查询时的注意事项
准备工作 1)创建测试表jobitem CREATE TABLE "jobitem" ( "id" ) NOT NULL AUTO_INCREMENT COMM ...
- IIS 网站 HTTP 转 HTTPS
最近需要做 http 链接转成 https 链接,所以就去弄了,现在记录下: 1.准备SSL证书 最开始的时候用的是腾讯云的免费证书,有效期1年,但只能绑定一个二级域名.测试成功后,就去阿里云购买了证 ...
- Hadoop+HBase 集群搭建
Hadoop+HBase 集群搭建 1. 环境准备 说明:本次集群搭建使用系统版本Centos 7.5 ,软件版本 V3.1.1. 1.1 配置说明 本次集群搭建共三台机器,具体说明下: 主机名 IP ...
- 如何用Python计算Softmax?
Softmax函数,或称归一化指数函数,它能将一个含任意实数的K维向量z"压缩"到另一个K维实向量\(\sigma{(z)}\)中,使得每一个元素的范围都在(0,1)之间,并且所有 ...
- MyBatis中使用实体中使用枚举,数据库中使用数值
一.简介 本文主要讲MyBatis中使用实体中使用枚举,数据库中使用数值的解决方案.正常直接使用会报错,需要添加typeHandlers在mybatis-config.xml中. 二.解决方案 如下: ...
- easyui combox 手动添加项
$('#comzwcf').combobox({ valueField: 'id', textField: 'text', }); $.ajax({ url: '/Provider/HandlerIr ...
- 深入理解linux系统下proc文件系统内容
深入理解linux系统下proc文件系统内容 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它 ...
- 【转载】Linux下查看CPU、内存占用率
不错的文章(linux系统性能监控--CPU利用率):https://blog.csdn.net/ctthuangcheng/article/details/52795477 在linux的系统维护中 ...
- python 执行sql得到字典格式数据
本文在提供一种方式,实现执行sql语句 返回字典结果集 # 连接数据库,数据库的,这里使用的setting中的默认设置,在这里不做具体的介绍,不懂的可以百度一下 conn = MySQLdb.conn ...
- [转]论SOA架构的几种主要开发方式
面向服务架构soa以其独特的优势越来越受到企业的重视,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署.组合和使用.服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理 ...