babel是什么
Babel 通过语法转换器支持最新版本的 JavaScript 。 这些插件允许你立刻使用新语法,无需等待浏览器支持。 查看 env preset 开始使用 Babel
企业级开发方案
自动化开发任务的管理者 babel 让我们的js可以使用最新的技术编写, 如es8 acync:async 函数的含义和用法 await: 对async/await的深入理解
babel的安装
- npm init -y初始化一个项目 新建一个.babelrc文件内容为
{ "presets": ["env"] }
presets字段设定转码规则 - 使用Babel提供babel-cli工具,用于命令行转码 安装命令是
`yarn global add babel-cli - 转码结果写入一个文件
babel es6.js
或者babel es6.js -o es5.js
上面代码是在全局环境下,进行Babel转码。这意味着,如果项目要运行,全局环境必须有Babel,也就是说项目产生了对环境的依赖。另一方面,这样做也无法支持不同项目使用不同版本的Babel
______________________________
项目中安装babel
yarn add babel-core
yarn add babel -core -D
yarn add babel -preset-env-D
本地安装的开发依赖 devDependencies安装完成后package.json会新增一段代码"devDependencies": {
"babel": "^6.23.0"
}`表示本地安装成功
一个真实的目录结构
一段使用babel编译后的js代码
- es5对变量的声明是使用var
es6对变量的声明新增了let 和 const关键字,es6可以使用箭头函数
const num = 9; let isMarried = false; let yourTurn = ['好工作', '找老板谈', '驴妈妈网'].map((task, index) => { return
{task}}); console.log(yourTurn);
- 在终端用
babel.es6.js
转译后'use strict'; var num = 9; var isMarried = false; var yourTurn = ['好工作', '找老板谈', '驴妈妈网'].map(function (task, index) { return index + '-' + task; }); console.log(yourTurn)
- 这将把编译后的结果直接输出至终端。使用 --out-file 或着 -o 可以将结果写入到指定的文件。
$ babel example.js --out-file compiled.js
或
$ babel example.js -o compiled.js
- 如果我们想要把一个目录整个编译成一个新的目录,可以使用 --out-dir 或者 -d。
$ babel src --out-dir lib
或
$ babel src -d lib
初识babel 以后让我们的js可以使用最新的技术编写吧
一起学习Babel 用户手册;
如果你也是新手来和我一起学习一口(很长的)气了解 babel;