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使用起来很简单,简单到都没有必要写一篇文章去介绍,直接看看官方文档就可以.所以我也在怀疑到底该不该写这篇文章.想来想去还是决定 ...
随机推荐
- 关于用tesseract和tesserocr识别图片的一个问题
对于像我这样初学python网络爬虫的freshman来说,软件的准备和环境的配置能让我们崩溃.其中用刚安装好的tesseract和tesserocr库测试识别验证码就是其中一例. 这里我要测试的验证 ...
- CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)
机房一台centos6.9机器部署了jenkins发布系统,开发人员在用node编译js,发现依赖的gcc版本低了,故需要将gcc升级到高版本(至少5.0版本以上),这里选择升级到6.4.0版本,下面 ...
- PHP从入门到精通(二)
PHP从入门到精通 之PHP中的函数 各位开发者朋友大家好,自上次更新PHP的相关知识,得到了大家的广泛支持.PHP的火爆程度不言而喻,函数作为PHP中极为重要的部分,应诸位的支持,博主继续跟进更新 ...
- 《Linux内核设计与实现》第四章读书笔记
4.1 多任务 多任务操作系统就是能同时并发地交互执行多个进程的操作系统. 多任务系统可以划分为两类: 非抢占式多任务进程会一直执行直到自己主动停止运行 抢占式多任务Linux/Unix使用的是抢占式 ...
- 【实践报告】Linux实践四
Linux内核分析 实践四——ELF文件格式分析 一.概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文 ...
- beta 答辩总结
评审表 编号 团队名称 项目名称 格式 内容 PPT 演讲 答辩 总分/100 1 天机组 指尖加密 14 13 13 13 13 66 2 PMS Your eyes 14 14 17 14 15 ...
- ASP.NET Web Service 标准SOAP开发案例代码(自定义验证安全头SOAPHeader)
using System.Xml;using System.Xml.Serialization;using System.Web.Services.Protocols;using System.Con ...
- jmeter(psot) 表单提交 注意项
Form表单提交:直接使用表单方式提交即可,此方式采取页面直接跳转的形式.用jmeter请求的时候,日志打印传的参数是空的.考虑到form提交和http的提交请求头可能是不一样的,所以优化了请求头: ...
- [转帖]UML各种图总结-精华
UML各种图总结-精华 https://www.cnblogs.com/jiangds/p/6596595.html 之前自己以为画图很简单 不需要用心学 现在发现自己一直没有学会一些基础的知识 能力 ...
- [cnblog新闻]历史性时刻:云硬件支出首次高于传统硬件
https://news.cnblogs.com/n/617487/ 据调研公司 IDC 声称,2018 年第三季度云硬件支出占 IT 总收入的 50.9%. 知名调研公司 IDC 声称,面向云的 I ...