一.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的更多相关文章

  1. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  2. 前端构建工具的用法—grunt、gulp、browserify、webpack

    随着前端项目的飞速发展,项目越来越大.文件越来越多,前端工程化的工具也越来越多.下面介绍目前最流行的四种构建工具——grunt.gulp.browserify.webpack 所有的构建工具都是基于N ...

  3. 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  4. JavaScript自动化构建工具入门----grunt、gulp、webpack

    蛮荒时代的程序员: 做项目的时候,会有大量的js 大量的css   需要合并压缩,大量时间需要用到合并压缩 在前端开发中会出现很多重复性无意义的劳动  自动化时代的程序员: 希望一切都可以自动完成  ...

  5. Grunt、Gulp和Webpack对比

    1.Grunt处理Sass转换成CSS过程 2.Gulp处理Sass转换成CSS过程 3.Webpack执行原理 4.区别 (1)grunt和gulp都类似于webapck的中的scripts,属于任 ...

  6. Grunt、gulp、webpack、不要听着高大上你就上,试试Codekit?

    下载地址:https://incident57.com/codekit/ 官方网站了解更多 要编译Less.Sass.Stylus, CoffeeScript, Typescript, Jade, H ...

  7. Scss开发临时学习过程||webpack、npm、gulp配置

    SCSS语法: 假设变量申明带有!default,那么如果在此申明之前没有这个变量的申明,则用这个值,反之如果之前有申明,则用申明的值. ‘...’传递多个参数: @mixin box-shadow( ...

  8. JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  9. 28、[源码]-AOP原理-@EnableAspectJAutoProxy

    28.[源码]-AOP原理-@EnableAspectJAutoProxy

随机推荐

  1. mac下svn提交失败的解决方法

    $svn ci maps.xml然后出现一个文件svn-commit.4.tmp,在文件svn-commit.4.tmp中有如下内容:   --This line, and those below, ...

  2. ajax跨域请求调用webservice接口

    1.WebService 接口编写 步骤:新建web项目=>添加web service=>编写方法接口=>然后发布(本地测试可以直接把这个web service运行起来). 关键如何 ...

  3. css-div翻转动画

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. 一步步教你轻松学支持向量机SVM算法之案例篇2

    一步步教你轻松学支持向量机SVM算法之案例篇2 (白宁超 2018年10月22日10:09:07) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...

  5. Ant之build.xml配置详解【转】

    原文:https://blog.csdn.net/mevicky/article/details/72828554 前言国内关于build.xml的配置资料太零散了,实在是受不了,故而将自己的笔记整理 ...

  6. 配置logback

    相关组件] Logback是由log4j创始人设计的又一个开源日志组件. logback当前分成三个模块:logback-core.logback- classic和logback-access. l ...

  7. OpenCV 对矩阵进行掩码操作

    Mask operations on matrices https://docs.opencv.org/master/d7/d37/tutorial_mat_mask_operations.html ...

  8. Springboot2.x 集成jsp

    1.添加pom依赖 <!--引入springboot 内嵌tomcat对jsp的解析包--> <dependency> <groupId>org.apache.to ...

  9. Effective Java 第三版—— 87. 考虑使用自定义序列化形式

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  10. IntelliJ IDEA配置

    1.取消idea默认打开工程: 2.导出,导入配置. 导出和导入配置好处:对IDEA配置好后导出配置,方便以后重装电脑或者重装IDEA后可以导入之前配置好的配置.避免重复配置 导出配置:File Ex ...