有条件地添加 babel core-js 的正确方法是什么

问题描述

我正在使用谷歌页面速度洞察检查我的网站,它显示“避免向现代浏览器提供旧版 JavaScript”

我让 babel-env 设置了这样的东西,但似乎无法正常工作。

 ["@babel/preset-env",{
  "useBuiltIns": "usage","corejs": 3,"targets": {
    "browsers": ["last 2 version","ie > 11"]
  }
}]

在我的 entry.js 文件中,我曾经导入过“core-js/stable” 但是,我试着像这样改变。我不确定在旧版浏览器崩溃之前是否会添加 core-js。

if(!isModernbrowser(navigator.userAgent)) {
  import('core-js/stable')
}

你们是如何只为一些需要 core-js 的浏览器添加 core-js 的? 我正在使用自定义 webpack 和 SSR

我的完整babelrc

{
  "presets": [
    "@babel/preset-react",["@babel/preset-env",{
      "useBuiltIns": "usage","targets": {
        "browsers": ["last 2 version","ie > 11"]
      }
    }]
  ],"plugins": [
    "react-hot-loader/babel","@babel/plugin-transform-arrow-functions","@babel/plugin-transform-spread","@babel/plugin-proposal-object-rest-spread","@babel/plugin-Syntax-dynamic-import",[
      "babel-plugin-webpack-alias",{
        "config": "${PWD}/config/aliases/aliases.config.js"
      }
    ],[
      "@babel/plugin-proposal-decorators",{
        "legacy": true
      }
    ],"@babel/plugin-transform-runtime","react-imported-component/babel","@babel/plugin-Syntax-import-Meta","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-json-strings","@babel/plugin-proposal-function-sent","@babel/plugin-proposal-export-namespace-from","@babel/plugin-proposal-numeric-separator","@babel/plugin-proposal-throw-expressions"
  ]
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)