简单利用gulp-babel搭建es6转es5环境
es6是什么?借着这个话题,我想说:身为web前端的工作者连es6没听说,转行吧。
demo的代码如下:
源码下载 或者 gitclone地址: git@git.oschina.net:sisheb/gulpdemo.git
1.gulp用到开发plugins如下:
"devDependencies": {
"babel-preset-es2015": "^6.24.1", //es2015转码规则
"gulp": "^3.9.1", //babel插件
"gulp-babel": "^6.1.2",
"gulp-clean": "^0.3.2",
"gulp-jshint": "^2.0.4", //js检错
"gulp-livereload": "^3.8.1",
"gulp-load-plugins": "^1.5.0",
"gulp-plumber": "^1.1.0", //gulp的处理错误
"gulp-webserver": "^0.9.1"
}
说明:gulp-babel和babel-preset-es2015一起使用,jshint检错与es6语法冲同,需要建里一个配置文件 .jshint:
{
"asi": true,
"esversion": 2015
}
2.开发文件目录

3. gulpfile.js 配置
var gulp = require('gulp'),
$ = require('gulp-load-plugins')();
var app = {
srcPath: 'src/',
devPath: 'build/'
};
gulp.task('js',function(){
return gulp.src(app.srcPath + 'script/**/*.js',{base:app.srcPath})
.pipe($.plumber())
.pipe($.babel({
presets: ['es2015']
}))
.pipe(gulp.dest(app.devPath));
});
gulp.task('html',function(){
return gulp.src(app.srcPath + '**/*.html',{base:app.srcPath})
.pipe(gulp.dest(app.devPath));
});
gulp.task('clean',function(){
return gulp.src(app.devPath)
.pipe($.clean());
});
//浏览器同步
gulp.task('webserve',function(){
return gulp.src(app.devPath)
.pipe($.webserver({
livereload: true, //开启gulp-livereload
open: true,
port: 2333 //浏览器端口
}));
});
// 监听
gulp.task('watch',function(){
gulp.watch(app.srcPath + 'script/**/*.js', ['js']);
gulp.watch(app.srcPath + '**/*.html', ['html']);
});
//定义gulp默认任务
gulp.task('default',['webserve','watch']);
问题一:当我执行gulp,发现并未一步执行浏览器同步,这是怎么回事?
先查看命令执行结果,发现并没有'js'和'html':

所以我定义一个build的task:

发现没有成功,然后在查看:

发现'webserve'先执行了完成,而'js'和'html'后执行。如果在执行gulp一次,发现居然能够在浏览器同步,这是因为第一次gulp执行留下的build文件,需要执行清理。
在npm社区查找gulp-webserver的api,并没有看到在回调中使用gulp-webserver,而是推荐使用gulp-connact,我刚才使用gulp-connact,看到网上有人使用gulp-webserve,于是便使用 。
我将defualt的task该进,如下便可一步到位:

简单利用gulp-babel搭建es6转es5环境的更多相关文章
- gulp+Babel 搭建ES6环境
Gulp是什么? Gulp是一个工作流的构建系统,开发者可以使用它在网站开发过程中自动执行常见任务.Gulp是基于Node.js构建的,因此Gulp源文件和你用来定义任务的Gulp文件都被写进了Jav ...
- ES6 初体验 —— gulp+Babel 搭建ES6环境
ES6已经火了好久了,我却一直没有在项目中尝试过使用ES6写代码,只是写过几个Demo,在大型项目中使用ES6这件事,我一直不太敢做.最近公司要求做一个小的H5活动专题,我想不如就在这个小项目中使用E ...
- 使用webpack+babel构建ES6语法运行环境
1.前言 由于ES6语法在各个浏览器上支持的情况各不相同,有的浏览器对ES6语法支持度较高,而有的浏览器支持较低,所以为了能够兼容大多数浏览器,我们在使用ES6语法时需要使用babel编译器将代码中的 ...
- webpack打包出错,通过babel将es6转es5的出错。
错误信息如下: 解决方法: 1,先安装babel-preset-es2015到项目中, cnpm install babel-preset-es2015 --save-dev2,在项目根目录中新建一个 ...
- ES6转ES5环境搭配
1.初始化项目 在项目根目录创建 package.json 文件 npm init //或者 npm init -y 2.安装babel-cli脚手架 npm install babel-cli -- ...
- 利用create-react-app从零开始搭建React移动端环境
一 开始 1 全局安装脚手架 npm install -g create-react-app 这有个坑,就是在window下安装一直会报错,报错信息如下: 解决办法:在开始菜单栏里打开cmd的时,右击 ...
- 如何利用Intellij Idea搭建python编译运行环境 (转)
首先进入Intellij Idea的官方网站:点击打开链接 点击download,选择旗舰版进行下载.网上的破解教程很多,也可以注册一个学生账号拿到一年的免费试用权. 安装过程不再细说,第一次打开选择 ...
- 利用QEMU+GDB搭建Linux内核调试环境
前言 对用户态进程,利用gdb调试代码是很方便的手段.而对于内核态的问题,可以利用crash等工具基于coredump文件进行调试. 其实我们也可以利用一些手段对Linux内核代码进行gdb调试,qe ...
- MyEclipse 2015利用Cygwin+CDT搭建C/C++开发环境
GitHub原文:https://github.com/x113773/testall/issues/22 首先安装Cygwin 1:首先去网站 www.cygwin.com 下载 Cygwin 的 ...
随机推荐
- Ansible Playbook handlers 语句
handlers 用法如下,表示当 tasks 执行成功之后再执行 handlers,相当于 shell 中的 && 用法,如果 tasks 执行失败是不会执行 handlers 语句 ...
- 如何使用 SSH 连接 VMWare 虚拟机中的 Ubuntu
环境:VMWare Player 5.0.2,Ubuntu 13.10 VMWare共有3种网络连接模式,分别是: 1. bridged(桥接模式):虚拟机将直接连接到物理局域网,使自身独立于宿主机 ...
- mac 下搭建Elasticsearch 5.4.3分布式集群
一.集群角色 多机集群中的节点可以分为master nodes和data nodes,在配置文件中使用Zen发现(Zen discovery)机制来管理不同节点.Zen发现是ES自带的默认发现机制,使 ...
- SpringMVC系列之URL匹配问题
一.工程目录 二.web.xml配置文件及与其他文件的关系 三.控制器部分 四.返回值 五.url前后缀 六.项目源代码 http://files.cnblogs.com/files/xujian20 ...
- 怎样用Windows10全屏流畅运行红色警戒2
https://jingyan.baidu.com/article/9113f81b1cb7f22b3214c724.html jpg 转 rar
- JS 数组Array常用方法
参考网站: http://www.jb51.net/article/60502.htm,作者:junjie 今天在使用js切割字符串"浙江,江苏 , 天津,"...这样字符串的时候 ...
- [转载]ASP.NET伪静态页面的实现和伪静态在IIS7.0中的配置
ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置 最近在写一个CMS的内容管理系统,需要用到一个伪静态方面的方法,在网上找了一下这方面的资料,现将这方面的资源记录一下. 本机环境: ...
- WP8.1学习系列(第八章)——透视Pivot设计指南
在本文中 描述 应做事项和禁止事项 其他使用指南 相关主题 重要的 API Pivot class (XAML) PivotItem class (XAML) Windows Phone 应用:具有透 ...
- web基础----->jersey整合jetty开发restful应用(一)
这里介绍一个jersey与jetty整合开发restful应用的知识.将过去和羁绊全部丢弃,不要吝惜那为了梦想流下的泪水. jersey与jetty的整合 一.创建一个maven项目,pom.xml的 ...
- 剑指offer——49
丑数 因子只含2,3,5的数称为丑数. 怎么求第K大的丑数呢.K可以为10^7 最简单的做法是,对每个数判断是否为丑数. 复杂度为O( n * log(n) ),理论上是不行的. uglys[i] 来 ...