1.全局安装cnpm(淘宝的npm国内镜像),gulp,rimraf(卸载用插件)
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g rimraf gulp

项目下新建package.json和gulpfile.js。

打开package.json添加 {}  花括号,保存。

2.gulp插件(每个项目都要安装一次)
cnpm install --save-dev gulp gulp-replace gulp-less gulp-minify-css browser-sync gulp-react gulp-babel babel-preset-es2015 babel-polyfill babel-preset-stage-0 gulp-webpack

  • replace替换文字插件
  • less编译less文件插件
  • minify-css压缩css插件
  • browser-sync自动重载浏览器插件
  • react编译react插件
  • babel编译ES插件
  • babel-preset-es2015将ES6编译为ES5
  • gulp-webpack编译模块化文件
  • babel-preset-stage-0
  • babel-polyfill垫片库

可能需要安装的babel转ES5插件:

cnpm install --save-dev babel-plugin-transform-es2015-duplicate-keys babel-plugin-transform-es2015-arrow-functions babel-plugin-transform-es2015-block-scoped-functions babel-plugin-transform-es2015-modules-amd babel-plugin-transform-es2015-modules-commonjs babel-plugin-transform-es2015-object-super babel-plugin-transform-es2015-template-literals babel-plugin-check-es2015-constants

3.卸载方法
cmd指向gulp根目录
rimraf -rf node_modules

4.gulpfile.js实例

var gulp = require("gulp");
var replace = require("gulp-replace");
var browserSync = require("browser-sync");
var less = require("gulp-less");
var minCss = require('gulp-minify-css');
var babel = require('gulp-babel');
var webpack = require('gulp-webpack');
var react = require('gulp-react') //路径存储变量
var srcPath = 'src/';
var distPath = 'dist/';
var notUgly = [ srcPath + 'js/*.js', "!" + srcPath + 'js/jquery.js']; //替换文件内容
gulp.task('replace', function() {
return gulp.src(srcPath + '*.php')
//将src目录下所有php文件的123替换成321
.pipe(replace('123','321'))
.pipe(gulp.dest(distPath));
}); //编译ES6语法的react文件
gulp.task('reactify', function(){
return gulp.src(srcPath + 'js/*.jsx')
.pipe(react())
.pipe(babel({
presets: ['es2015']
}))
.pipe(gulp.dest(distPath + 'js/'))
.pipe(webpack({
externals: {
'react': 'React',
'react-dom': 'ReactDOM'
},
output:{
filename:"ui.js",
}
}))
.pipe(gulp.dest(distPath + 'js/'))
.pipe(browserSync.reload({
stream: true
}))
}); //编译ES6
gulp.task('es6', function(){
return gulp.src(srcPath + 'js/**/*.es6')
//匹配js文件夹下所有ES6文件(包括子文件夹)
.pipe(babel({
presets: ['es2015']
}))
.pipe(gulp.dest(srcPath + 'es6/'))
.pipe(webpack({
output:{
filename:"es6.js",
}
}))
.pipe(gulp.dest(distPath + 'js/'))
.pipe(browserSync.reload({
stream: true
}))
}); //编译压缩less文件
gulp.task('less', function(){
return gulp.src(srcPath + 'less/*.less')
.pipe(less())
.pipe(minCss)
.pipe(gulp.dest(distPath + 'css'))
.pipe(browserSync.reload({
stream: true
}))
}); //导出html并重载浏览器
gulp.task('html', function(){
return gulp.src(srcPath + '*.php')
.pipe(gulp.dest(distPath))
.pipe(browserSync.reload({
stream: true
}))
}); //自动重载浏览器,本地开启了服务器就修改端口号,路径修改到生产环境
gulp.task('browserSync', function() {
browserSync({
proxy: "local.dev",
proxy: "localhost:8080",
proxy: "localhost/wechat/dist",
})
}); //监听各文件,改动后执行后面的[任务],完成任务后执行browserSync任务
gulp.task('watch', ['browserSync'],function(){
gulp.watch(srcPath + 'js/*.jsx', ['reactify']);
gulp.watch(srcPath + 'js/**/*.es6', ['es6']);
gulp.watch(srcPath + 'less/*.less', ['less']);
gulp.watch(srcPath + '*.php', ['html']);
}); gulp.task("default", ['watch'], function(){});

  

cmd指向gulpfile.js的文件夹,然后gulp watch 开始监听。

5.gulp.js文件使用es6

用编辑器保存一个.babelrc文件(没有名字只有后缀的文件),粘贴配置信息并保存。

{
"presets": ["es2015", "stage-0"]
}

文件开头加上

'use strict'
import "babel-polyfill";

gulp.js重命名为gulp.babel.js

这样就可以在gulp中使用es6

gulp 安装笔记的更多相关文章

  1. Gulp安装笔记(转)已经测试过

    前言 总的来说,玩gulp的流程是这样的: 安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 ...

  2. Gulp安装笔记

    前言 总的来说,玩gulp的流程是这样的: 安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 ...

  3. gulp学习笔记4

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 之前的任务都是单个的,比较简单.接下去我们开始引用多个插件,一次性把任务搞定,省 ...

  4. gulp学习笔记1

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.安装gulp 首先我们需要node环境,nodejs安装这里就不说了,不懂的 ...

  5. gulp学习笔记2

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1. 压缩 CSS 压缩 css 代码可降低 css 文件大小,提高页面打开速度 ...

  6. gulp学习笔记3

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.编译sass Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大 ...

  7. MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记

    MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记 说明 以root账户登录Linux操作系统,注意:本文中的所有命令行前面的 #> 表示命令行提示符 ...

  8. 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记

    基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...

  9. sublime 安装笔记

    sublime 安装笔记 下载地址 安装package control 根据版本复制相应的代码到console,运行 按要求重启几次后再按crtl+shift+p打开命令窗口 输入pcip即可开始安装 ...

随机推荐

  1. 记在virtualbox下挂载共享文件夹的方法

    sudo mount -t vboxsf share /usr/share sudo mount -t vboxsf 共享文件夹名称(在设置页面设置的) 挂载的目录

  2. spark shell

    启动spark-shell客户端 启动集群模式 本机为master节点 export MASTER=spark://`hostname`:7077bin/spark-shell 或者 bin/spar ...

  3. oracle指令

    删除用户和用户下所有的表: drop user user_name cascade; 导入数据库: cd /home/oracle/app/admin/orcl/dpdump impdp   dire ...

  4. jQuery 隐藏/显示

    1.如何隐藏部分文本(简单案例) //样式 <style type="text/css">            div.ex {                bac ...

  5. 生产/消费 发送和接收消息---基于kombu和redis交互

    from kombu import Connection, Exchange, Queue media_exchange = Exchange('media', 'direct', durable=T ...

  6. FreeBSD 查看硬件信息

    systat 能实时查看各种信息 systat -pigs 默认值CPU systat -iostat 硬盘IO systat -swap 交换分区 systat -mbufs 网络缓冲区 systa ...

  7. Quartus II USB-Blaster驱动解决

    Quartus II USB-Blaster驱动解决 之前安装Quartus II 13.0,但FPGA开发板链接的USB-Blaster链接无法被Quartus识别,改装Quartus II 11. ...

  8. UVALive 7138 The Matrix Revolutions(Matrix-Tree + 高斯消元)(2014 Asia Shanghai Regional Contest)

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=6 ...

  9. peoplesoft SQR language

    Understanding SQR Data Elements !Variables!Variables are storage places for text or numbers that you ...

  10. c#-快速排序-算法

    快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists). 步骤为: 1.从数列中挑出一个元素,称为 "基准"(p ...