读完这篇你还不懂Babel我给你寄口罩

本文介绍了Babel的基础知识,包括@babel/core、@babel/cli、plugins和presets的用法。通过案例详细解释了如何配置Babel,以及如何使用@babel/polyfill来补充执行环境。文章适合想入门Babel的读者,读完后可更好地理解Babel的转换功能和用途。
摘要由CSDN通过智能技术生成

前言
最近在学习webpack, 发现了webpack中一个重要的功能点babel-loader, 于是就想着学习了解一波Babel.
我们在做一件事, 学习一个知识点的时候, 都应该是抱有一个目的去做的.
在你花了大把时间大把精力去学习这个知识的时候, 它能带给你什么 🤔️ ? 能帮助到你什么🤔️ ?
在这里插入图片描述
就像我学习Babel一样, 之前一直只知道它是一个JS编译器, 大概功能是能帮我们在旧的浏览器环境中将ES6+代码转换成向后兼容版本的JS代码, 但是其中重要的转换功能是靠什么实现, 以及里面到底有个什么学问是我没深入了解的, 它对我学习webpack有什么帮助?
在这一篇文章中我并没有介绍过于深入的内容, 但是如果把它当成一个入门Babel的教材来看那我相信它对你是有一定帮助的. 不信如果你读完了它之后再去看看官方的文档, 一定觉得都可以看懂了. 不然的话请评论区留下你的地址, 看我给不给你寄口罩…
不拐弯抹角了, 嘻嘻 😁, 让我们看看通过这一章节的阅读你能学习到什么:

@babel/clipluginspresets配置Bablepolyfill
前期准备
学习一个新的知识, 我还是偏向于用案例的的方式来打开讲解它.
所以在正式开始阅读之前, 让我们先来准备一个这样的案例项目:

mkdir babel-basic && cd babel-basic
npm init -y
mkdir src && cd src
touch index.js

一顿操作之后, 我们新建的项目目录为:

/babel-basic
 |- /src
   |- index.js
 |- package.json

现在package.json是最原始的配置, 而index.js暂时没有写内容.
package.json:

{
  "name": "babel-basic",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {}
}

下面我都将围绕这个babel-basic项目来进行讲解, 我希望你也能在本地准备一个这样的项目案例, 以便你更好的理解我接下来要说的内容.
@babel/core
我们学习Babel, 首先要了解一个叫@babel/core 的东西, 它是Babel的核心模块.
当然要使用它, 我们得先安装:

$ npm i --save-dev @babel/core

安装成功之后就可以在我们的代码中使用了, 你可以采用CommonJS的引用方式:

const babel = require('@babel/core');
babel.transform("code", options);

这里的知识点有很多, 不过你不用急于的掌握它, 只需要知道它是Babel的核心, 让我们接着往下看.

@babel/cli
再然后就是@babel/cli, 它是一个终端运行工具, 内置的插件,运行你从终端使用babel的工具.

同样, 它也需要先安装:

$ npm i --save-dev @babel/cli @babel/core

让我们安装@babel/cli的同时再来安装一下@babel/core,
现在, 让我先在src/index.js中写上一段简单的代码, 并来看看它的基本用法.

src/index.js:

const fn = () => 1; // 箭头函数, 返回值为1
console.log(fn());

用法一: 命令行的形式(在项目根目录执行语句):

$ ./node_modules/.bin/babel src --
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值