Babel 快速入门

news/2024/12/29 17:12:29/

目录

  • 一. 简介
  • 二. 安装 babel-cli
  • 三. 代码示例
    • 1. 初始化项目
    • 2. 编写es6代码
    • 3. 编写babel配置文件
    • 4. 安装转码器
    • 5. 转码
      • 方式一
      • 方式二


一. 简介

ES6的某些高级语法在浏览器环境甚至是Node.js环境中无法执行。

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



二. 安装 babel-cli

Babel提供babel-cli工具,用于命令行转码。

#安装babel-cli
cnpm install -g babel-cli#查看是否安装成功
babel --version


三. 代码示例

1. 初始化项目

首先新建一个文件夹
image-20210202232216382
然后用如下命令初始化一个项目

npm init -y

image-20210202232415581
项目创建完毕后可以看到生成了package.json文件


2. 编写es6代码

package.json同级目录下新建src目录,其中新建test.js文件,用于编写es6代码

image-20210202232932810

//ES6代码
let name = "zsr";
const address = "湖北武汉";
let arr = [1, 2, 3, 4, 5];
let newarr = arr.map(a => a * 2);
console.log(name);
console.log(address);
console.log(newarr);

3. 编写babel配置文件

Babel的配置文件是.babelrc,存放在项目的根目录下,该文件用来设置转码规则和插件

{"presets":["es2015"],"plugins": []
}

4. 安装转码器

打开cmd,切换到项目根目录,输入如下指令

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

5. 转码

方式一

babel src -d dist

image-20210202234207644
然后就可以看到生成了dist\test.js文件
image-20210202234259190
我们打开该文件

"use strict";//ES6代码
var name = "zsr";
var address = "湖北武汉";
var arr = [1, 2, 3, 4, 5];
var newarr = arr.map(function (a) {return a * 2;
});
console.log(name);
console.log(address);
console.log(newarr);

可以看到,原先的es6语法被转换成了es2015的语法

方式二

也改写package.json,添加

"dev": "babel src -d dist"

image-20210202234914037
然后转码的时候,执行以下命令即可

npm run dev

http://www.ppmy.cn/news/605631.html

相关文章

wps图片批量调整

https://jingyan.baidu.com/article/e73e26c092bf4a24adb6a78e.html photoshop彩色转黑白 WPS最实用的多个图片大小位置调整方法听语音原创|浏览:380|更新:2018-06-07 12:07

LeetCode中等题之煎饼排序

题目 给你一个整数数组 arr &#xff0c;请使用 煎饼翻转 完成对数组的排序。 一次煎饼翻转的执行过程如下&#xff1a; 选择一个整数 k &#xff0c;1 < k < arr.length 反转子数组 arr[0…k-1]&#xff08;下标从 0 开始&#xff09; 例如&#xff0c;arr [3,2,1,4] …

打标遗留的问题

电子病历训练文本打标的更正 $ 符号 [ 符号 Address -ate 打标数据转换成一列的时候会出现这种字符紧紧挨着没分开的情况

LeetCode简单题之比较含退格的字符串

题目 给定 s 和 t 两个字符串&#xff0c;当它们分别被输入到空白的文本编辑器后&#xff0c;如果两者相等&#xff0c;返回 true 。# 代表退格字符。 注意&#xff1a;如果对空文本输入退格字符&#xff0c;文本继续为空。 示例 1&#xff1a; 输入&#xff1a;s “ab#c”, …

前端模块化(CommenJS规范、ES6规范)

目录1. 简介2. CommonJS规范3. ES6模块化规范写法一写法二&#xff08;推荐&#xff09;1. 简介 随着网站逐渐变成”互联网应用程序”&#xff0c;嵌入网页的Javascript代码越来越庞大&#xff0c;越来越复杂。 Javascript模块化编程&#xff0c;已经成为一个迫切的需求。理想…

差值结构的基态和跃迁

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;AB训练集各由5张二值化的图片组成&#xff0c;让差值结构中有6个1, 行分布是0&#xff0c;1&#xff0c;1&#xff0c;2&#xff0c;2列分布是4&#xff0c;2. 得到数据 差值结构 A-B 迭代次数 共…

pytorch 与 numpy 的数组广播机制

20210505 从左边开始对应位置,如果一个是1,一个大于1&#xff0c;以大于1的为准, 不能对应位置的值不相同 缺失的维度:其中一个矩阵少某个或某些维度

LeetCode简单题之数组序号转换

题目 给你一个整数数组 arr &#xff0c;请你将数组中的每个元素替换为它们排序后的序号。 序号代表了一个元素有多大。序号编号的规则如下&#xff1a; 序号从 1 开始编号。 一个元素越大&#xff0c;那么序号越大。如果两个元素相等&#xff0c;那么它们的序号相同。 每个数…