create-react-app 中的 babel/polyfill 已弃用警告

Sam*_*Sam 5 reactjs webpack babel-polyfill create-react-app

我有一个React使用创建的应用程序npx create-react-app my-app。我一直在定期更新这两个软件包React和其他npm软件包。

不久前,我开始收到以下警告:

@babel/polyfill 已弃用。请分别使用 core-js 和 regenerator-runtime/runtime 所需的部分

以下是我的package.json文件中的内容:

"devDependencies": {
    "babel-polyfill": "^6.26.0",
    "redux-devtools": "^3.5.0"
  }
Run Code Online (Sandbox Code Playgroud)

我在网上找到了一些关于如何处理此问题的文章,但没有一篇看起来像官方解决方案。处理这个问题的正确方法是什么?

到目前为止,这是一个警告而不是错误,所以我只是推迟处理它。今天,我升级了moment软件包,然后开始出现错误,我认为首先处理这个问题是一个很好的起点。

我希望得到一些指示来消除此警告。

jha*_*Pac 7

babel-polyfill 正在被 core-js 取代。您可以删除 babel-polyfill 并安装 core-js。安装 core-js 后,使用以下内容更新 .babelrc 或 babel.config.js 文件中的 babel 预设:

"presets":[
  ['@babel/preset-env',
  {
    useBuiltIns: 'usage',
    corejs: 3,
  }],
]
Run Code Online (Sandbox Code Playgroud)

如果您在应用程序中导入 babel-polyfill,您也可以将其删除。您还可以在预设中添加目标属性

[
  '@babel/preset-env',
  {
    targets: {
      browsers: ['> 0.25%, not dead'],
    },
    useBuiltIns: 'usage',
    corejs: 3,
  },
]
Run Code Online (Sandbox Code Playgroud)