Expo React Native Web部署疑问:正确的发布目录与构建命令是什么?
最新版Expo(SDK 49+)Web部署正确配置
从SDK 49开始,Expo彻底统一了跨平台导出命令,旧的expo build:web/npx expo export:web已被废弃,发布目录也从web-build改为dist,这就是你之前配置失效的核心原因。以下是各托管平台的具体配置方案:
核心配置要点
- 构建命令统一使用
npx expo export - 发布目录指定为
dist
各托管平台配置细节
Netlify
- 构建命令:
npx expo export - 发布目录:
dist - 若使用Expo Router,需在项目根目录创建
netlify.toml,添加以下内容解决路由刷新404问题:
[[redirects]] from = "/*" to = "/index.html" status = 200
Vercel
- 构建命令:
npx expo export - 发布目录:
dist - 若使用Expo Router,创建
vercel.json文件:
{ "routes": [ { "src": "/(.*)", "dest": "/index.html" } ] }
Railway
- 构建命令:
npx expo export - 发布目录:
dist - 若使用路由功能,需在平台控制台或
railway.toml中设置重定向规则,将所有请求指向index.html,避免刷新页面报错。
Render
- 构建命令:
npx expo export - 发布目录:
dist - 在静态站点设置中,将「Rewrite Rules」设为
/* /index.html 200,解决路由刷新问题。
常见问题处理
- 终端仍提示旧命令:要么是全局Expo CLI版本过低,执行
npm install -g expo-cli更新;要么是package.json中残留旧的build:web脚本,直接删除并替换为"export": "npx expo export"。 - 构建失败提示依赖缺失:执行
npx expo install expo-web-browser react-dom补全web核心依赖,SDK 49+无需手动安装webpack配置,若仍有问题再添加@expo/webpack-config。 - Expo Router路由失效:必须添加上述重定向规则,确保所有路径指向
index.html,这是单页应用的标准配置。
内容的提问来源于stack exchange,提问作者Majd
相关产品推荐
相关产品推荐

