babel部分基础包的作用

babel的功能

是一个工具链.

1.用于将ES6及之后的语法转换为向后兼容的JavaScript语法,以便能运行在旧版本浏览器当中.

2.通过polyfill垫片的方式在环境中添加缺失的功能(Promise等).

npm init -y

新建一个babel-demo文件夹, npm init -y初始化.

npm i @babel/core -D

babel7版本之后的命名统一为@babel···开头. @babel/core为babel核心的内容. core的版本即为babel的版本.

npm i @babel/cli -D

babel的命令行工具,可以在package.json里配置babel命令行.

`"babel": "babel src --out-dir dist"`

在index.js中输入:

let a = 1;
let test = (a, b) => a + b;
let p = new Promise(resolve => {
    resolve(1)
})

npm run babel,此时在项目的根目录下就会生成dist文件夹,其中包含一个index.js文件(和源文件无差别).

babel.config.json

babel执行需要一个配置文件.在babel v7.8.0及以上的版本为babel.config.json(以下为babel.config.js);

例如只配置箭头函数的插件时,

此时运行npm run babel

可以看到箭头函数已经被转换为es6之前的版本了.

npm i @babel/preset-env -D

若存在多种es6的语法时,需要一个个配置plugins. @babel/preset-env就是一个插件的集合包. 配置了该预设后,就无需再配置种种plugins.

此时运行npm run babel

可以看到let、()=> 都被转换成es6之前的版本了.

npm i core-js -S

core-js被当作是polyfill. 用于补充ES6之前缺失的功能(promise等).

此时npm run babel:

npm i @babel/plugin-transform-runtime -D @babel/runtime -S

当你在不同的文件中分别命名了一个Class类之后, 查看打包后的效果;

会发现在不同的文件中有很多冗余的代码, @babel/plugin-transform-runtime插件就是用于抽取这些冗余的代码,需要和@babel/runtime一起使用.

此时 npm run babel

可以看到抽取了公共方法.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值