你需要掌握的babel知识都在这里

本文介绍了Babel的作用及其解决的JavaScript兼容性问题。详细讲解了Babel的编译流程,主要依赖库如@babel/core、@babel/cli、@babel/preset-env等,并重点探讨了@babel/polyfill和@babel/plugin-transform-runtime的使用场景。通过实例展示了如何配置和使用Babel,帮助读者理解如何处理高级语法的转换,以及如何优化垫片的引入方式以减小代码体积。
摘要由CSDN通过智能技术生成

随着ES6以及后面版本的问世,确实给前端JavaScript增添了不少活力,层出不穷的高级语法不仅提升编码效率,还使得前端的编码风格越来越靠近贴近主流。然而这些高级语法在有些浏览器上却运行不了,是因为浏览器还没法编译js的高级语法导致出现兼容性问题,需要将这些高级语法编译成浏览器能够运行的低版本语法。今天讲解的babel就是来解决这个js兼容问题的。

Babel,又名Babel.js。 是一个用于web 开发,且自由开源的JavaScript 编译器、转译器。 Babel 使软件开发者能够以偏好的编程语言或风格来写作源代码,并将其利用Babel 翻译成JavaScript。 Babel 是一个常用来使用最新的JavaScript 语言特性的工具。——维基百科

babel官网

前置知识

babel编译流程

babel其实就是将源码转换成目标源码的一个过程,大致分为三步

  • parse: 通过parser把源码转成抽象ast语法树
  • transform: 循环遍历ast,通过transform的能力对其进行语法转换
  • generate: 根据转换后的源码生产目标源码
主要依赖库介绍

@babel-core:babel核心编译库,它能够进行语法、语义、词法分析,生成抽象语法树**@babel-cli**:负责命令相关的功能,提供 bebel 命令**@babel/preset-env**:ES6稳定语法transform插件的集合**@babel/runtime**: 运行时,配合transform-runtime**@babel/plugin-transform-runtime**:polyfill垫片防止污染全局变量(第三方库必须得接入)@babel/polyfill:高级语法兼容解决方案依赖

学习babel,你主要掌握一下三个模块就差不多了:

  • 1、环境搭建,基本配置
  • 2、babel-polyfill
  • 3、babel-runtime

基本配置

搭建一个简单的项目
┌-- src
┆ └--index.js
├-- .babelrc
└-- package.json 

配置scripts命令

# package.json
{..."scripts": {"babel": "babel src/index.js --out-dir dist"},...
} 
安装

开发依赖

yarn add @babel/cli @babel/core &
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值