利用gulp+babel转es6

目录
  1. 参考资料
  2. 前言
  3. 知识储备
  4. 搭建步骤
  5. 小试身手
参考资料
  1. gulp
  2. node.js中文网
  3. Babel
  4. gulp入门教程
  5. gulp中文网
前言

最近在学习es6过程中发现,虽然es6出来已经有一段时间了,但是各大浏览器并不是完全支持(chrome,firefox支持大部分,IE不支持),作为一个前端爱好者,浏览器兼容性永远是优先考虑的,所以呢,内事不决问度娘嘛!搜索之后发现有两种解决办法,第一种呢?用WebStorm自带的File Watcher功能+Babel实现自动转换ECMAScript 6代码为ES5代码(不推荐,因为很卡),第二种考虑gulp,利用gulp+babel转es6,心情很激动,遂写下心得,权当做个见证!

知识储备
  • ES6

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

标准的制定者有计划,以后每年发布一次标准,使用年份作为版本。因为 ES6 的第一个版本是在 2015 年发布的,所以又称ECMAScript 2015(简称 ES2015)。

2016 年 6 月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布。由于变动非常小(只新增了数组实例的includes方法和指数运算符),因此 ES2016 与 ES2015 基本上是同一个标准,都被看作是 ES6。根据计划,2017 年 6 月将发布 ES2017。

  • gulp

gulp.js 是一种基于流的,代码优于配置的新一代构建工具。具体可见gulp

  • node.js/npm

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

Node.js 的包管理器 npm,是全球最大的开源库生态系统。

具体可见node.js中文网

  • Babel

Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。具体可见Babel

搭建步骤
  • 安装node.js/npm

    进入node.js中文网,点击导航栏的下载,根据系统对应下载即可(npm会随同node.js一同下载)。

    下载成功后,以window系统为例:win键+r输入cmd回车,调出命令行,执行如下命令:

    node -v 下载成功后会出现nodejs版本号

    npm -v 下载成功后会出现npm版本号

  • 了解常用npm命令 npm使用手册

  • 安装cnpm

    安装命令: npm install cnpm -g --registry=https://registry.npm.taobao.org

    下载成功后可以执行cnpm -v查看版本

    npm安装插件是从国外服务器下载,受网络的影响,经常会产生下载缓慢或异常的问题。cnpm的出现就很好的解决了这个问题,cnpm是一个完整的npmjs.org的镜像,可以以此代替官方版本,同步频率为10分钟一次(cnmp命令与npm一致,只需将npm替换为cnpm)。cnmp官网

  • 全局安装gulp

    安装命令: cnpm install gulp -g

    查看是否正确安装:gulp -v

  • 新建项目(以我的项目为例)

    在桌面新建了一个名为test的项目

    • 使用cmd进入命令行,cd到test项目(cd Desktop est ),执行gulp命令,会出现
    Local gulp not found in ~Desktop	est
    Try running:npm install gulp
    
    
    • 使用IDE打开(本人是webstorm)
  • cmd执行cnpm init命令配置package.json文件

    如果你和我一样都是小白的话,一路enter就可以了! 结束时会提示你Is this ok? 输入yes即可,然后回到IDE中,你会发现项目中已经生成了package.json文件。(package.json是基于nodejs项目必不可少的配置文件,它是存放在项目根目录的普通json文件。具体看这里)

  • 本地安装gulp,执行如下命令

    • cnpm install --save-dev

    • cnpm install gulp --save-dev

    cmd到test目录下执行gulp命令,会出现

  • 在项目根目录创建一个名为gulpfile.js的文件,根据gulp中文网的提示,书写如下代码

var gulp = require('gulp');

gulp.task('default', function() {
// 将你的默认的任务代码放在这
console.log('ok');  //实验代码
});
  • cmd到test目录下执行gulp命令,会出现

    此时标志着gulp安装完成

  • 安装gulp-babel插件, 回到cmd到test目录下,执行:

    cnpm install --save-dev gulp-babel babel-preset-es2015

  • 回到IDE,重置gulpfile.js文件,书写如下代码

const gulp = require('gulp');
const babel = require('gulp-babel');
 
gulp.task('default', () => {
    return gulp.src('es6/*.js')
        .pipe(babel({
            presets: ['es2015']
        }))
        .pipe(gulp.dest('build'));
});

至此,gulp+Babel转es6的环境已经搭建完毕。

小试身手
  • 更改webStorm编辑器的js书写环境

​ File => Setting => languages & Frameworks => javascript =>

  • 新建es6文件夹,在es6文件夹下创建es6标准下的test.js文件,书写如下代码
let [a,b] = [1,2];
console.log(a,b);
  • cmd到test目录下执行gulp命令

  • 回到IDE,test文件生成了一个叫build的文件夹并且里面有一个let.js的文件,build/let.js这就是我们转成的es5标准的js文件。

回到目录

博客搬家:三小山的个人博客

如有不对,欢迎指正,谢谢
原文地址:https://www.cnblogs.com/sanxiaoshan/p/6850342.html