corejs和presets env和presets es2015和presets stage-3之间的关系

babel-preset-es2015 es2015

我们使用新的es6的语法,但是因为浏览器兼容性,所以有了babel工具,把原来浏览器不支持的语法支持上了,一开始是babel-preset-es2015模块帮助我们转es6到es5的语法。

这里顺便说一句,es2015其实就是es6,因为es2015年开始,每年都要更新一个版本,但是之前又不是,2015年这个版本恰好是es6版本,所以既叫es6又叫es2015。以后以此类推es2016其实就是es7。

babel-preset-env

babel-preset-env是用来替代babel-preset-es2015的,主要作用是转化已经被TC39采纳的语法。

并且env还支持babel-polyfill,对于一些新的api,比如promise,浏览器原生不支持,需要去模拟。

而corejs就是@babel/polyfill的核心依赖

corejs

corejs是JavaScript polyfill的标准依赖库。
模块化,只引你想要的。

@babel/transform-runtime

当使用core-js3的时候,@babel/transform-runtime会自动加载需要的polyfill

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个`.babelrc`文件是Babel的配置文件,用于指定Babel的转译规则、插件和配置选项等。具体的解析如下: 1. `presets`:预设,指定了一组Babel插件的集合,用于转译特定的语法或者功能。在这个配置文件中,一共有两个预设: - `env`:根据当前的环境自动决定使用哪些插件。在这里,`env`预设的配置选项中指定了使用ES2015+语法(通过`modules: false`开启ES6模块化)以及支持的浏览器版本(通过`targets`选项指定)。 - `stage-2`:指定了转译ES2017中的部分新特性(即第二阶段的草案)。 2. `plugins`:插件,用于转译一些特定的语法或者功能。在这个配置文件中,一共有三个插件: - `transform-vue-jsx`:用于将Vue的JSX语法转译为普通的JavaScript语法。 - `transform-runtime`:为了避免重复的代码,将Babel的辅助函数和运行时代码提取到单独的模块中。 - `dynamic-import-node`:用于在Node.js环境中支持动态导入语法,即`import()`。 3. `env`:环境选项,可以指定不同的环境下使用不同的配置。在这里,只有`test`环境的配置被指定了。在`test`环境中,使用和默认环境相同的`env`和`stage-2`预设,同时使用另外两个插件:`jsx-v-model`和`transform-es2015-modules-commonjs`。其中,`jsx-v-model`是用于支持Vue的`v-model`语法,`transform-es2015-modules-commonjs`则是将ES6模块语法转换为CommonJS模块语法,以支持Node.js环境下的测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值