You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决React项目中‘prop-types not found on request’报错?

解决步骤

1. 先修正自己代码的导入方式

把App组件里的prop-types导入改成:

import PropTypes from 'prop-types';

这样你的组件propTypes校验才能正常工作。

2. 调整FuseBox配置,确保prop-types被正确解析

打开你的FuseBox配置文件(一般是fuse.js),做以下调整:

  • 确保node_modules被纳入模块扫描路径
  • 开启对CommonJS模块的兼容(FuseBox默认支持,但显式配置更稳妥)
  • 可选:显式把prop-types加入打包依赖列表

示例配置片段:

const { FuseBox, WebIndexPlugin } = require("fuse-box");

const fuse = FuseBox.init({
  homeDir: "./src",
  output: "./dist/$name.js",
  modulesFolder: "node_modules", // 确保扫描node_modules
  target: "browser@es6",
  allowSyntheticDefaultImports: true, // 兼容ES和CommonJS模块的导入差异
  include: ["prop-types", "react", "react-dom", "material-ui", "material-ui-icons"] // 显式指定要打包的核心依赖
});

// 打包你的应用
fuse.bundle("app")
  .instructions("> index.js")
  .plugin(WebIndexPlugin({ template: "./src/index.html" }));

fuse.run();

3. 清除缓存重新打包

FuseBox的缓存有时候会导致依赖解析异常,执行以下操作:

  • 删除项目根目录下的dist和.fusebox文件夹
  • 重新运行你的打包命令(比如node fuse.js)

额外排查方向

如果上面的方法都没用,可以试试:

  • 把prop-types降级到^15.5.10,旧版本的FuseBox对这个版本的兼容性更好
  • 升级Material-UI到更稳定的beta版本(比如1.0.0-beta.40),这个版本的模块结构更规范,和FuseBox的兼容性会更好

内容的提问来源于stack exchange,提问作者Stiño

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:34:04