Babel 总结

news2024/11/16 3:28:02

文章目录

  • Babel 总结
    • 概述
    • 安装
    • 使用
      • 一、添加配置文件
      • 二、编写源代码
      • 三、配置package.json
      • 四、编译代码
    • 对比代码

Babel 总结

概述

Babel 是一个 JavaScript 编译器,主要用于在当前和旧的浏览器或环境中,将 ECMAScript 2015+ 代码转换为 JavaScript 向后兼容版本的代码。

安装

npm install --save-dev @babel/core @babel/cli
npm install @babel/preset-env --save-dev
  • @babel/cli 是Babel的命令行工具,可用于在终端中使用Babel进行编译。
  • @babel/core 是Babel的核心库,包括了转换代码的逻辑和API。
  • @babel/preset-env 是一个Babel预设,它包含了一系列的插件,能够根据您所声明的目标环境自动为您生成转换代码的插件列表。例如,如果您声明了目标环境是Chrome 58,则@babel/preset-env会自动选择生成Chrome 58支持的代码。

使用

一、添加配置文件

创建 .babelrcbabel.config.json 文件,并写入:

{
  "presets": ["@babel/preset-env"]
}

二、编写源代码

  1. 创建 src 文件夹用于编写源代码,在 src 目录下新建 my_babel.js ,写入源代码。
  2. 创建 dist 文件夹用于保存编译后代码。
// my_babel.js
let name = "小明";
const age = 18;
let address = ["广东省"];
let newAddress = [...address, "广州市"];

new Promise((resolve, reject) => {
  resolve("成功");
});

Array.from([1, 2]);

class Person {}

import "./index.js";

三、配置package.json

{
  "scripts": {
    "build": "babel src -d dist"
  },
  "devDependencies": {
    "@babel/cli": "^7.21.5",
    "@babel/core": "^7.21.8",
    "@babel/preset-env": "^7.21.5"
  }
}
  • src表示源代码目录。
  • dist表示目标代码目录。

四、编译代码

执行命令:

npm run build

编译完成后,会在dist目录下生成my_babel.js文件。

对比代码

在这里插入图片描述

Babel可以编译ES6的大部分语法,如:let。const、剪头函数、类等。

但对于ES6新增的API,如:promise、Set、Map、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign/Array.from)都不能直接编译,需要借助其它的模块。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509980.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软考备战·希赛网每日一练】2023年5月10日

文章目录 一、今日成绩二、错题总结第一题第二题第三题 三、知识查缺 题目及解析来源:2023年05月10日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: proceed v.开始行动,开展;继续做(或从事、进行&…

redis之jedis:通过redis的API与Java的集成

什么是jedis? 简而言之:jedis就是通过redis的API对redis的操作,通过Java类对数据库进行操作,注意:使用的命令则是redis数据库的API,jedis是一个java实现的redis客户端连接工具。常用的还有redisson,jedis跟…

力扣 139. 单词拆分

一、题目描述 给你一个字符串 s 和一个字符串列表 word_dict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s "leetcode"…

【论文解读】Do Prompts Solve NLP Tasks Using Natural Language?

🍥关键词:文本分类、提示学习 🍥发表期刊:Arxiv 2022 🍥原始论文:https://arxiv.org/pdf/2203.00902 最近在做Prompted learning for text classification的工作,Prompted learning的核心在于设…

应急响应之进程,服务,文件排查方法

应急响应之进程,服务,文件排查方法 1.进程Windows进程排查Linux进程排查2.服务Windows服务排查Linux服务排查3.文件痕迹windows系统文件痕迹排查Linux系统文件痕迹排查1.进程 Windows进程排查 对于 Windows 系统中的进程排查,主要是找到恶意进程的 PID、程序路径, 有时还…

Elasticsearch:使用 Docker-Compose 启动单节点 Elastic Stack

首先必须指出的是,在我之前的文章 “Elasticsearch:使用 Docker compose 来一键部署 Elastic Stack 8.x”,我有详述根据官方文档如何创建一个带有三个节点的安全 Elasticsearch 集群。本文基于著名的 Deviatony 存储库和 Elastic 的官方说明。…

KPI考核管理:有效提升企业绩效指标

KPI考核管理是企业中常用的绩效管理方法之一,这种方式涉及到目标设定、绩效评估和奖惩措施等方面。在本文中,我们将探讨KPI考核管理的重要性、KPI管理方法以及如何应对。 一、KPI考核管理的重要性 KPI考核管理是企业实现战略目标的重要手段之一&#x…

[Mysql] MySQL索引与事务

黎明前的黑暗最难度过,但一旦坚持住,便是灿烂朝阳. 文章目录 1. 索引1.1 索引的概念1.2 索引的创建与使用 2. 事务2.1 事务的使用2.2 事务的特性与隔离机制2.2.1 隔离级别 1. 索引 1.1 索引的概念 索引是一种特殊的文件,可以对表中一列或多列创建索引,…

JZ-7Y-204 DC110V 2NO 2NC 静态中间继电器 板前接线 JOSEF约瑟

品牌:JOSEF约瑟名称:静态中间继电器型号:JZ-7Y-204额定电压:6V~220VAC/DC,380VAC触点容量:10A/250V10A/220VDC功率消耗:≤6W 1 用途 JZ-7中间继电器 板前接线用于各种保护和自动控制装置中,以…

PB文件定义为int64,HTTP返回为string的问题

最近开发遇见一个问题,pb文件中定义的一个字段类型为int64,而客户端拿到却是string。很奇怪,经过排查原来是 proto3中json映射问题 原文链接:https://protobuf.dev/programming-guides/proto3/#json JSON映射 Proto3 支持 JSON …

【GO 编程语言】 函数

函数 文章目录 函数一、什么是函数1.函数的声明 二、函数的声明和调用三、形参和实参四、可变参数五、值传递和引用传递六、函数中变量的作用域七、defer八、函数的本质探究九、匿名函数十、回调函数十一、闭包 一、什么是函数 函数是基本的代码块,用于执行一个任务。Go 语言最…

【手撕代码系列】JS手写实现apply方法

公众号:Code程序人生,分享前端所见所闻 在JavaScript中,apply()是Function对象的一个方法,它允许我们以指定的this值和参数列表调用函数。这个方法通常被用来在函数调用时动态地传递参数,或者在调用函数时绑定this值。…

chatgpt软件批量写作软件-文章改编软件

文章改编软件 文章改编软件是一种能够将原有的文本进行复制粘贴后,通过一定算法进行改写和改编的工具。其主要应用领域在于将一些内容复制到网站或博客等平台上时,避免因为重复内容而被识别为“抄袭”,从而提高文章的独特性和可读性。 然而…

TweenMax 源码阅读

GSAP 之 TweenMax 源码阅读(一) 一、背景 GreenSock (绿袜子) GreenSock 是一家做 专业级 JavaScript 动画的公司,主要产品就是其下的 GSAP (GreenSock Animation Platform),配合着 GSPA 开发了很多专业的…

前端架构师-week5-egg.js+云Mongodb快速入门

目录 下载项目模版功能实现流程分析egg.js简介 egg.js 官网 初始化 云 mongodb 云 mongodb 开通 本地 mongodb 安装 mongodb 使用方法 通过 egg.js 框架添加新的API 云 mongodb 开通 本地 mongodb 调试技巧讲解 egg.js 接入 mongodb 方法 云 mongodb 如何连接公网…

mysql深分页

第一种:主键自增id情况: 未改: select * from wx_product_category_info where category_name_cn#{categoryNameCn} and category_type#{categoryType} order by id asclimit #{pageNum}, #{pageSize};在普通的limit条件下,如果…

如何通过appuploader把ipa文件上传到App Store教程步骤

​ iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store!​ 下面进行步骤介绍!​ 利用Appuploader这个软件,可以在Windows、Linux或Mac系统中申请ios和上传IPA到App Store Connect。​ 非常的方便,没有Mac也可以…

回炉重造十三----Docker的运用

1、Docker和虚拟机的区别 两者的区别 虚拟化环境下每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。 容器之间可以共享操作系统,比起 VM 被认为是更轻量级.且与 VM 类似,每个容器都具有自己的文件系统、CPU…

42电机插座接线可以用PH2.0冷压端子

文章目录 42电机插座接线可以用PH2.0冷压端子概述笔记备注END 42电机插座接线可以用PH2.0冷压端子 概述 设备上的42电机在我不断调整电机安装位置时, 接线从插孔中折断了. 问厂家, 他们的线也是定制的. 另外, 他是销售, 不清楚具体插座的型号和插座要用的冷压端子是哪种. 因为…

Java 关键字之:package与import

一、package 关键字 为了更好的实现项目中类的管理,提供包的概念使用package声明类或者接口所属的包,声明在源文件的首行包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、"见名知意"每“.”一次,就代…