Expo 51升级后编译报错:React Native运行时不含Node标准库
解决Expo 51升级后
fs模块导入错误问题 问题分析
你遇到的打包崩溃问题,根源是项目中安装了非官方的expo-config包。这个包是针对Node.js环境开发的工具,会尝试引入Node标准库的fs模块,但React Native客户端运行时并不包含Node标准库,因此触发报错。
解决方案
1. 卸载错误依赖
执行命令移除导致问题的expo-config包:
npm uninstall expo-config # 若使用yarn则执行 yarn remove expo-config
2. 替换客户端配置获取方式
如果你的代码中曾用expo-config读取项目配置,替换为Expo官方提供的客户端兼容API:
先安装官方配置工具(未安装的话):
npx expo install expo-constants
然后在代码中通过以下方式获取配置:
import Constants from 'expo-constants'; // 获取Expo项目配置 const expoConfig = Constants.expoConfig;
3. 清除缓存并重建项目
# 清除Expo缓存 npx expo start --clear # 重新安装依赖 npm install # 或 yarn install # 重新构建Android项目 expo run:android
额外注意
检查项目代码,确保没有其他Node端工具被错误引入到客户端逻辑中,所有依赖都需是React Native/Expo客户端兼容的版本。
内容的提问来源于stack exchange,提问作者Njeck Cyprian
相关产品推荐
相关产品推荐

