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)