使用react-app-wired

问题描述

我有一个使用 react-data-grid @ 7 使用 create-react-app 创建的React应用程序。从canary17开始,他们开始使用 ES2020模块,要使用最新的版本,我必须为可选链 nullish-coalescing-operator 添加支持>转到该应用,否则启动该应用时会出错。
经过几次搜索后,我安装了 customize-cra react-app-rewired ,将脚本命令更改为

"start": "react-app-rewired start"     
"build": "react-app-rewired build"   

添加了此 config-overrides.js

const {
    override,addBabelPlugin
 } = require("customize-cra");

 module.exports = override(
    addBabelPlugin("@babel/plugin-proposal-optional-chaining"),addBabelPlugin("@babel/plugin-proposal-nullish-coalescing-operator"),);

尝试运行该应用程序时,我得到了奇怪的行为。 使用 start 命令,我会得到相同的错误,但是如果我构建并部署了该应用程序,则该工作正常。
如果我在config-overrides.js中添加了一些错误并尝试开始运行,则启动会收到一条错误消息,因此我认为文件已加载。

我想念什么吗?

解决方法

经过几次测试,我发现解决方案从

addBabelPlugin("@babel/plugin-proposal-optional-chaining"),addBabelPlugin("@babel/plugin-proposal-nullish-coalescing-operator"),

addExternalBabelPlugin(["@babel/plugin-proposal-optional-chaining",{ "loose": false }]),addExternalBabelPlugin(["@babel/plugin-proposal-nullish-coalescing-operator",

我也添加了松散参数,但这不是问题。现在看起来既可以投放,也可以构建