1、开始学习es6 如果想在浏览器跑es6 需要给es6个环境 因为一直用vue-cli全家桶 这样虽然方便 但如果用es6需要跑起个vue全家桶 于是想到可以用gulp搭建个开发环境
首先需要1、 安装 gulp-babel babel-preset-es2015
Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。
cnpm install --save-dev gulp-babel babel-preset-es2015
2、cnpm install --save-dev browserify
cnpm install --save-dev vinyl-source-stream
browserify 让你使用类似于 node 的 require() 的方式来组织浏览器端的 Javascript 代码
vinyl-source-stream 将Browserify的bundle()的输出转换为Gulp可用的vinyl(一种虚拟文件格式)流
3、在gulpfile.js下引入安装的包文件
var gulp = require("gulp"),
babel = require("gulp-babel"),
browserify = require("browserify"),
source = require("vinyl-source-stream"),
uglify = require("gulp-uglify"),
cleancss= require("gulp-clean-css"),
rev = require("gulp-rev-append"),
less = require("gulp-less"),
stylus = require("gulp-stylus"),
livereload = require("gulp-livereload"),
concat = require("gulp-concat");
需要的其他安装包另行安装
文件的目录结构为
期中dist为生成的最终经过编译的js 在html中引入dist下的js及css文件
//es6 test
gulp.task("es6stylus",function(){
gulp.src(["es6/css/test.styl"])
.pipe(stylus())
.pipe(cleancss())
.pipe(gulp.dest("es6/dist/css"))
.pipe(livereload());
})
gulp.task("es6js",function(){
gulp.src(["es6/js/test.js"])
.pipe(babel({
presets:['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest("es6/dist/js"))
.pipe(livereload());
}) gulp.task("watch",function(){
livereload.listen();
gulp.watch("es6/css/*.styl",["es6stylus"]);
gulp.watch("es6/js/*.js",["es6js","browserify"]);
}) gulp.task("browserify",function(){
var b = browserify({
entries:"es6/dist/js/test.js"
})
return b.bundle()
.pipe(source("bundle.js"))
.pipe(gulp.dest("dist/js"));
})
gulp.task("start",["es6stylus","es6js","browserify","watch"])
通过livereload对js及css变化进行监听
在test.js 中
var t = (x,y)=>x+y;
console.log(t(15,5));
查看dist/js/test.js
"use strict";var t=function(t,n){return t+n};console.log(t(15,5));
暂时看可以对es6箭头函数进行编译了 下面就可以开始学习es6了~