babel的使用及babel与gulp结合工作流
Babel 通过语法转换器支持最新版本的 JavaScript 。 它有非常多的插件,这些插件能够允许我们立刻使用新语法,无需等待浏览器支持。
那我们怎么使用babel呢?
首先我们来了解babel基本的安装
第一:babel的安装

第二:查看babel版本以及babel命令

第三步:建立文件夹,初始化一个仓库,将我们的配置写成一个package.json文件。

第四步:新建一个文件,并单独输出其编译之后的文件,这是单个文件的监听。

第五步:新建文件夹,将之前所建的test.js文件移动到文件夹内,删除之前监听的输出后的单个文件,再进行文件夹的监听。

现在整个工程目录如下

第六步:当我们工程中需要使用babel的时候,我们使用 cnpm install babel-cli --save-dev来进行安装,当前项目依赖babel-cli。

我们可以使用babel-node去运行文件

接下来我们来看看babel如何来解析ES6/ES7的语法。
第一步:创建.babelrc文件,在文件中写入

第二步:下载相关的preset,并将babel去做一个监听,将src目录下的项目编译到dist目录下。

在文件中写入

使用
可以看到这个编译之后的代码

编译之前代码如下

通过代码可以看到其实编译出来的代码并不精简
我们可以通过安装
再在.babelrc里面进行修改
通过运行

查看编译之后的结果,比之前的精简许多。

如果我们想babel还可以编译es2016的话,我们可以继续安装preset

要记得修改.babelrc文件。

如果想将gulp和babel结合使用完成一整套的工作流程,该怎么做呢?
第一步:安装gulp插件,删掉之前输出编译之后文件的dist目录

第二步:建立gulpfile.js,文件,写入配置,运行。




很想把完整的demo也给大家看,已经上传到github了:https://github.com/JserJser/reactDemo/tree/master/babel-cli/babel-demos
babel的使用及babel与gulp结合工作流的更多相关文章
- Babel 处理 webpack 无法处理的 ES 语法(Babel 6.x 和 Babel 7.x 有区别)(二)
//这是main.js是我们项目的js入口文件 //1:a导入jQuery,引入jQuery包用$变量接收,此方法与node中 const $ = require('jquery') 同 //此为ES ...
- Gulp Babel AMD转换例子
1.gulpfile.js var gulp = require('gulp'); const babel = require('gulp-babel'); gulp.task('default', ...
- gulp+babel 实时转es6
1.安装gulp npm install gulp 2.得到package.json文件 npm init 2.全局安装Babel. npm install -g babel-cli npm ...
- Sublime Text 之运行 ES6 (基于babel)
本文同步自我的个人博客:http://www.52cik.com/2015/10/21/sublime-text-run-es6.html 之前在博客园里写过一篇<Sublime Text 之运 ...
- ES6学习(1)——如何通过babel将ES6转化成ES5
使用babel编译ES6 babel是一个工具,可以通过多个平台,让js文件从ES6转化成ES5,从而支持一些浏览器并未支持的语法. Insall babel $ sudo npm install b ...
- Babel指南——基本环境搭建
ECMAScript的现状 ECMAScript,本身是一个脚本语言的设计规范,基于此规范,有许多为人熟知的语言,如JavaScript.ActionScript等.而时至几年前,随着Node.js的 ...
- 使用babel编译es6
起因:开发中慢慢的学习使用es6,但是JavaScript需要浏览器来解析,而不是所有浏览器都支持es6,所以为了兼容es6,需要第三方工具进行编译es6. 工具:node,gulp,gulp-bab ...
- Babel 入门指南
Babel 入门指南 ⚠️ 注意: Babel 可以与很多构建工具(如 Browserify.Grunt.Gulp 等)进行集成.由于本教程选择 Webpack ,所以只讲解与 Webpack 的集 ...
- babel如此简单
凡是看到这个标题点进来的同学,相信对babel都有了一定的了解.babel使用起来很简单,简单到都没有必要写一篇文章去介绍,直接看看官方文档就可以.所以我也在怀疑到底该不该写这篇文章.想来想去还是决定 ...
随机推荐
- ceph学习
网络: ceph必须要有公共网络和集群网络: public network:负责客户端交互以及osd与mon之间的通讯 cluster network:负责osd之间的复制,均衡,回填,数据恢复等操作 ...
- 浅谈移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID
---恢复内容开始--- 转:https://www.jianshu.com/p/38f4d1a4763b [心路历程] 最近刚好在思考工作中统计数据所用的标识码产生的数据误差到底有多大,借此机会几番 ...
- devstack 安装(centos7)
1. 创建devstack用户 sudo useradd -s /bin/bash -d /opt/stack -m stackecho "stack ALL=(ALL) NOPASSWD: ...
- 分布式监控系统Zabbix--完整安装记录(7)-使用percona监控MySQL
前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...
- 初学习Qt的一些感悟
最近用Qt写了个人项目,有如下心得(可能有不准确): Qt尽管没有扩展C++语法,但是有额外编译链,每个Q_OBJECT类编译的时候会用moc工具生成另一个meta C++类,之后就是标准C++编译流 ...
- Spring MVC静态资源处理(转)
原文地址: http://www.cnblogs.com/fangqi/archive/2012/10/28/2743108.html 优雅REST风格的资源URL不希望带 .html 或 .do 等 ...
- Maven -Maven配置tomcat插件 两种
Maven Tomcat插件现在主要有两个版本,tomcat-maven-plugin和tomcat7-maven-plugin,使用方式基本相同. tomcat-maven-plugin 插件官网: ...
- rgb & rgba convert
rgb & rgba convert RGB color to Hex, Pantone, RAL, HSL, HSV, HSB, JSON. Get color scheme. https: ...
- Java和Spring邮件的发送
方法一: java发送电子邮件:这里以发送qq邮件为例: package test; import java.util.Properties; import javax.mail.Authentica ...
- Bootstrap图像
前面的话 图像在网页制作中也是常要用到的元素,本文将详细介绍Bootstrap图像 响应式图片 通过为图片添加 .img-responsive 类可以让图片支持响应式布局.其实质是为图片设置了 max ...