gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 00:28:00 31 4
gpt4 key购买 nike

使用 official docs我一直在尝试使用以下命令设置最佳构建配置:@babel/preset-envcore-js.browserslist文件。

据我了解文档,他们说 preset-envuseBuiltins:"usage"将更新 import 'core-js/stable'在我的代码中声明,只包含所需的功能。

但是,无论我是否设置 last 1 chrome version>1% in NL (这是相当多和旧的浏览器),构建文件大小相同(大约 3MB)。

webpack bundle size

我错过了什么?

我在这里有一个测试仓库:https://github.com/publicJorn/jorns-react-starter

为了快速引用,相关文件:

.babelrc

{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": { "version": 3, "proposals": true }
}
],
"@babel/preset-react"
],
"plugins": [
[
"@babel/plugin-proposal-object-rest-spread",
{
"useBuiltIns": true
}
],
["@babel/plugin-proposal-class-properties"],
["@babel/plugin-syntax-dynamic-import"],
["babel-plugin-styled-components"]
]
}

webpack 部分

module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: ['babel-loader']
}
]
},

.browserslistrc
> 1% in NL
ie 11
not ie < 11

index.js

import 'core-js/stable'

// etc..

最佳答案

如果属性 useBuiltInsusage , core-js 将捆绑你在项目中使用的 polyfill 代码。
如果 useBuiltInsentry ,它将通过 browserslist 设置捆绑 polyfill 代码。不要忘记手动导入 core-js。

import 'core-js/stable';
import 'regenerator-runtime/runtime';

现在, usageentry都是通过浏览器设置捆绑 polyfill @babel/core>=7.18

关于javascript - preset-env 和 core-js 似乎没有使用 browserslist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55725353/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com