React构建包运行时出现Uncaught ReferenceError: m is not defined错误排查求助
回复:排查生产构建"Uncaught ReferenceError: m is not defined"所需补充信息
根据你描述的情况——开发环境运行正常、生产构建后出现报错,结合你用到的依赖栈,以下这些信息会对排查问题非常有帮助:
打包相关的脚本配置:
- 你执行的生产构建具体命令是什么?是默认的
react-scripts build还是自定义的脚本? - 提供
package.json里完整的scripts字段内容,看看构建环节有没有特殊配置。
- 你执行的生产构建具体命令是什么?是默认的
自定义配置文件:
- 项目根目录是否有自定义的
webpack.config.js、.babelrc或babel.config.json?有的话请提供完整内容,这类自定义配置很可能影响生产打包的代码压缩、转译逻辑。
- 项目根目录是否有自定义的
完整的报错堆栈:
- Chrome控制台里的报错不要只保留提示信息,要展开完整的调用栈,包括报错对应的压缩文件路径、行号;如果开启了source map,也可以尝试定位到源码中的对应位置。
生产构建的输出细节:
- 可以看看打包后输出目录的结构,或者找到报错对应的压缩JS文件,截取报错行附近的代码片段(如果能定位到的话),这有助于判断
m是哪个模块或变量被压缩后出了问题。
- 可以看看打包后输出目录的结构,或者找到报错对应的压缩JS文件,截取报错行附近的代码片段(如果能定位到的话),这有助于判断
环境差异相关:
- 项目中是否使用了全局变量或者通过CDN引入的外部脚本?开发环境和生产环境的引入方式有没有区别?
- 有没有在代码中使用
process.env相关的环境变量,这些变量在生产构建时是否正确注入?
依赖与构建工具的尝试记录:
- 有没有尝试过更新
react-scripts、deck.gl系列依赖到较新版本后重新构建?有时候旧版本的构建工具和依赖之间会存在兼容性问题。
- 有没有尝试过更新
内容的提问来源于stack exchange,提问作者luis98743
相关产品推荐
相关产品推荐

