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环境的更多相关文章

  1. gulp+Babel 搭建ES6环境

    Gulp是什么? Gulp是一个工作流的构建系统,开发者可以使用它在网站开发过程中自动执行常见任务.Gulp是基于Node.js构建的,因此Gulp源文件和你用来定义任务的Gulp文件都被写进了Jav ...

  2. ES6 初体验 —— gulp+Babel 搭建ES6环境

    ES6已经火了好久了,我却一直没有在项目中尝试过使用ES6写代码,只是写过几个Demo,在大型项目中使用ES6这件事,我一直不太敢做.最近公司要求做一个小的H5活动专题,我想不如就在这个小项目中使用E ...

  3. 使用webpack+babel构建ES6语法运行环境

    1.前言 由于ES6语法在各个浏览器上支持的情况各不相同,有的浏览器对ES6语法支持度较高,而有的浏览器支持较低,所以为了能够兼容大多数浏览器,我们在使用ES6语法时需要使用babel编译器将代码中的 ...

  4. webpack打包出错,通过babel将es6转es5的出错。

    错误信息如下: 解决方法: 1,先安装babel-preset-es2015到项目中, cnpm install babel-preset-es2015 --save-dev2,在项目根目录中新建一个 ...

  5. ES6转ES5环境搭配

    1.初始化项目 在项目根目录创建 package.json 文件 npm init //或者 npm init -y 2.安装babel-cli脚手架 npm install babel-cli -- ...

  6. 利用create-react-app从零开始搭建React移动端环境

    一 开始 1 全局安装脚手架 npm install -g create-react-app 这有个坑,就是在window下安装一直会报错,报错信息如下: 解决办法:在开始菜单栏里打开cmd的时,右击 ...

  7. 如何利用Intellij Idea搭建python编译运行环境 (转)

    首先进入Intellij Idea的官方网站:点击打开链接 点击download,选择旗舰版进行下载.网上的破解教程很多,也可以注册一个学生账号拿到一年的免费试用权. 安装过程不再细说,第一次打开选择 ...

  8. 利用QEMU+GDB搭建Linux内核调试环境

    前言 对用户态进程,利用gdb调试代码是很方便的手段.而对于内核态的问题,可以利用crash等工具基于coredump文件进行调试. 其实我们也可以利用一些手段对Linux内核代码进行gdb调试,qe ...

  9. MyEclipse 2015利用Cygwin+CDT搭建C/C++开发环境

    GitHub原文:https://github.com/x113773/testall/issues/22 首先安装Cygwin 1:首先去网站 www.cygwin.com 下载 Cygwin 的 ...

随机推荐

  1. 深入浅出MFC——MFC六大关键技术仿真(二)

    1. 仿真MFC目的:以MFC为例,学习application framework的内部运行.MFC六大关键技术: (1)MFC程序的初始化过程 (2)RTTI(Runtime Type Inform ...

  2. 【摘】50个jQuery代码段帮助你成为一个更好的JavaScript开发者

    今 天的帖子会给你们展示50个jQuery代码片段,这些代码能够给你的JavaScript项目提供帮助.其中的一些代码段是从jQuery1.4.2才 开始支持的做法,另一些则是真正有用的函数或方法,他 ...

  3. Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.

    出现此异常原因是jdk环境变量未配置正确

  4. 用MyEclipse将Maven Dependencies中的jar包导出

    1.右击pom.xml文件,选择Run As  ——> Maven build… 2.在打开的页面中,如图输入“dependency:copy-dependencies”,后点击“Run”即可 ...

  5. secureCRT使用退格键(backspace)出现^H解决办法

    解决办法步骤如下: 选项--->会话选项---> 把下面两个打个钩就行了. 原文地址:http://skykiss.blog.51cto.com/blog/2892603/769771 另 ...

  6. android基础---->IntentService的使用

    这一篇博客,我们开始前台服务与IntentServie源码分析的学习,关于service的生命周期及其简单使用,请参见我的博客:(android基础---->service的生命周期) 目录导航 ...

  7. jQuery("dom").get()的源码分析

    该方法是绑定在jQuery.prototype上的一个静态方法,目的是取出jQuery对象中的某个或全部DOM元素. 使用方法: $("someDOM").get(index); ...

  8. GOOGLE CODE ANDROID 开源项目 集合

    转:http://blog.csdn.net/dellheng/article/details/7163333 1.        ZXing  http://code.google.com/p/zx ...

  9. div里粘贴文字后,移动光标至最后

    cursormanager.js //Namespace management idea from http://enterprisejquery.com/2010/10/how-good-c-hab ...

  10. Mac下门罗币矿工样本分析

    背景 今天遇到一个JSONRPC的告警,怀疑挖矿木马,IOC是132.148.245.101,无其他信息,随即google一波. 查询网络 遇到了,主动下载样本分析,下载地址:http://rjj.q ...