gulp 安装笔记
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 安装笔记的更多相关文章
- Gulp安装笔记(转)已经测试过
前言 总的来说,玩gulp的流程是这样的: 安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 ...
- Gulp安装笔记
前言 总的来说,玩gulp的流程是这样的: 安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 ...
- gulp学习笔记4
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 之前的任务都是单个的,比较简单.接下去我们开始引用多个插件,一次性把任务搞定,省 ...
- gulp学习笔记1
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.安装gulp 首先我们需要node环境,nodejs安装这里就不说了,不懂的 ...
- gulp学习笔记2
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1. 压缩 CSS 压缩 css 代码可降低 css 文件大小,提高页面打开速度 ...
- gulp学习笔记3
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.编译sass Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大 ...
- 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操作系统,注意:本文中的所有命令行前面的 #> 表示命令行提示符 ...
- 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记
基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...
- sublime 安装笔记
sublime 安装笔记 下载地址 安装package control 根据版本复制相应的代码到console,运行 按要求重启几次后再按crtl+shift+p打开命令窗口 输入pcip即可开始安装 ...
随机推荐
- xargs -I
xargs -i 参数或者-I参数配合{}即可进行文件的操作. -I replace-str Replace occurrences of replace-str ...
- (转载)(收藏)Awk学习详细文档
awk命令 本文索引 [隐藏] awk命令格式和选项 awk模式和操作 模式 操作 awk脚本基本结构 awk的工作原理 awk内置变量(预定义变量) 将外部变量值传递给awk awk运算与判断 算术 ...
- [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- SQLServer中系统存储过程sp_spaceused
sp_spaceused 执行sp_spaceused存储过程的时候可以不用带参数,直接执行,或者exec sp_spaceused都可以,返回两个结果集: 列名 数据类型 描述 database_n ...
- PHP的启动与终止
1.2 PHP的启动与终止 PHP程序的启动可以看作有两个概念上的启动,终止也有两个概念上的终止. 其中一个是PHP作为Apache(拿它举例,板砖勿扔)的一个模块的启动与终止, 这次启动php会初始 ...
- iOS开发:http中的get和post请求
什么是 HTTP ? 超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信. HTTP 的工作方式是客户端与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用 ...
- 笔记本中的archlinux调节亮度
参考了archlinux的wiki:https://wiki.archlinux.org/index.php/Backlight 说一下情况:/sys/class/backlight/acpi_vid ...
- String相关的问题
基本事实:对于字符串常量,如果内容相同,Java认为它们代表同一个String对象.而用关键字new 调用的构造器,总是会创建新的对象,无论内容是否相同.字符串常量是放在常量池(或者叫常量缓冲区)里面 ...
- PMP考试
今天是第二次PMP模拟考试,得了146分,比上次高25分,这次题目相对简单些,看来昨晚的复习没有白费,还是有效果的. 有些题目影响还是比较深刻,老外的项目管理思想是先规划好一切再执行(管理),比如信息 ...
- 前端开发--面试题整理(JS篇)
1.截取字符串abcdace的acealert('abcdace'.substring(4)); 2.规避javascript多人开发函数重名问题命名空间封闭空间js模块化mvc(数据层.表现层.控制 ...