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

Posted vieber

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于corejs和presets env和presets es2015和presets stage-3之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

在 React 和 Webpack 项目上从“babel-preset-es2015”过渡到“babel-preset-env”时出现问题

preset-env 和 core-js 似乎没有使用 browserslist

如何为 Angular 7 包含额外的 postCSS 插件(postcss-preset-env)

babel-preset-env使用介绍

babel-preset-react-app 没有拾取环境变量

带有 babel-preset-env 的 Babel 似乎忽略了 browserslist 配置