react-app-rewired 构建引发尝试导入错误

问题描述

我有一个带有 react-native 的 monorepo 用于移动设备和 react 用于 Web。当我使用“react-app-rewired build”时,出现以下错误

node_modules/@react-navigation/core/lib/module/getStateFromPath.js
Attempted import error: 'parse' is not exported from 'query-string' (imported as 'queryString').

很明显,导入/导出有问题,但“开始”工作正常,一切都很好。这只发生在“构建”上。我使用“customize-cra”来摆脱 ModuleScopePlugin 这样我就可以在 src 之外导入

const { removeModuleScopePlugin,override,babelInclude,addBabelPlugins } = require("customize-cra");
const path = require("path");

module.exports = override(
  removeModuleScopePlugin(),// (1)
  babelInclude([
    path.resolve("src"),path.resolve("../components/src"),// (2)
    path.resolve('../../node_modules'),]),addBabelPlugins([require.resolve('babel-plugin-react-native-web')])
);

这是我的 config-overrides.js。我的 tsconfig 没有改变,它与 cra 附带的相同。如果需要任何其他信息,我会添加。谢谢!

解决方法

我在使用 react-app-rewired 时遇到了同样的问题。

您可以尝试使用 craco 来覆盖您的 webpack 配置。切换到 craco 以某种方式为我消除了这个错误。