创建 React App 生产构建运行时错误:无法读取未定义的属性“调用”

IT技术 javascript reactjs webpack
2021-05-01 06:30:40

我有一个react-scripts start在开发中使用时运行良好的 CRA 项目但是一旦我构建react-scripts build并提供这些文件,我就会收到这个错误 Uncaught TypeError: Cannot read property 'call' of undefined 在此处输入图片说明

我没有任何自定义的 webpack 配置。我尝试对大量源代码进行注释,但在尝试提供构建文件时仍然出现此错误。

谢谢你的帮助!

2个回答

我找到了这个答案,它解决了这个问题。 https://stackoverflow.com/a/58628185/5231665
我只需要将此添加到react-scripts webpack.config.js

optimization: {
    sideEffects: false,// <----- in production defaults to true if left blank
}

@Barrard 的解决方案对我有用。

如果你正在构建一个 Create React App 并且不想弹出应用程序,以下步骤是我更新我的 webpack 配置的方法:

  1. 添加customize-crareact-app-rewired[0]

  2. 更新您的startbuild脚本以使用react-app-rewired而不是react-scripts[1]

  3. 没有内置 API 来更新optimization.sideEffects属性,因此我们必须构建自己的 [2]。config-overrides.js在您所在的位置创建一个文件并在其中package.json添加以下代码:

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

const setOptimizationSideEffect = flag => config => {
    config.optimization.sideEffects = flag
    return config;
}

module.exports = override(
    setOptimizationSideEffect(false)
);

[0] https://github.com/arackaf/customize-cra

[1] https://github.com/timarney/react-app-rewired#3-flip-the-existing-calls-to-react-scripts-in-npm-scripts-for-start-build-and-test

[2] https://github.com/arackaf/customize-cra/issues/155#issuecomment-523958656