expo - Expo + React Navigation + Vercel:深度链接不起作用
问题描述
我正在使用 expo sdk41、react navigation 5 和 vercel 来部署一个使用expo build:web
.
当我在本地开发时,我可以进行深度链接,例如http://localhost:19006/sign-in
. 但是,当我将其部署到 vercel 并为其分配域名时,深度链接不再起作用。
我已经在做以下事情,这允许深度链接在开发中工作:
export const linking = {
prefixes: [Linking.createUrl('/'),
screens: {
...
}
}
为什么深度链接在开发中有效,而不是在部署到 vercel 时有效?
如果需要,我很乐意添加更多信息。
解决方案
运行expo build:web
捆绑一个 SPA,您需要将对已部署应用程序的调用重定向到index.html
. Vercel 允许使用vercel.json
位于项目根目录的配置文件来配置重定向。
web/
在您的 Expo 根目录中添加一个文件夹,并vercel.json
在该web/
文件夹中创建一个包含以下内容的文件:
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
该文件将web-build
在您运行时复制到该文件夹中expo build:web
。
推荐阅读
- c++ - 序列锁中的 atomic_thread_fence 要求
- python - Python作业涉及将字符串中的字符转换为数字
- excel - 如何在 INDEX(SMALL(IF 基于多个标准或仅基于用户输入的几个标准?
- google-sheets - 如果单元格日期介于 Google 表格中的某些日期之间,则显示周
- python - 删除列表中的后续重复项
- rx-java2 - 如何阻止 RXJava 2 在第一个错误之后发出更多错误?
- java - AspectJ:如何限制目标方面
- javascript - 单击任何菜单项时如何关闭汉堡菜单
- r - R-markdown 将所有代码解释为字符串
- c# - 来自网络服务的响应