主题
babel7 实践
业务
shell
npm i @babel/core @babel/preset-env @babel/plugin-transform-runtime -D
npm i core-js@3.babelrc
js
{
presets: [
[
'@babel/env',
{
targets: {
browsers: ['> 1%', 'last 2 versions', 'not dead'],
},
useBuiltIns: 'usage',
corejs: 3,
},
],
],
plugins: [
[
'@babel/plugin-transform-runtime',
{
corejs: false,
regenerator: false,
},
],
],
}该方案会污染模块内全局,但会根据 target 来一定程度上减少 polyfill,进而减小体积
库
shell
npm i @babel/core @babel/preset-env @babel/plugin-transform-runtime -D
npm i @babel/runtime-corejs3.babelrc
js
{
presets: [
[
'@babel/env',
{
targets: {
browsers: ['> 1%', 'last 2 versions', 'not dead'],
},
useBuiltIns: false,
},
],
],
plugins: [
[
'@babel/plugin-transform-runtime',
{
corejs: 3,
},
],
],
}该方案不会污染全局,但是这个 transform-runtime 没法利用 target 因此使 polyfill 全量引入导致体积增大
