Expo + React Navigation + Vercel:深度链接不起作用

Joe*_*ugh 3 expo vercel react-navigation-v5

我正在使用 expo sdk41、react navigation 5 和 vercel 来部署使用expo build:web.

当我在本地开发时,我可以深度链接,例如http://localhost:19006/sign-in. 但是,当我将其部署到 vercel 并为其分配域名时,深层链接不再起作用。

我已经在执行以下操作,这允许深度链接在开发中工作:

export const linking = {
    prefixes: [Linking.createUrl('/'),
    screens: {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么深度链接在开发中有效,而在部署到 vercel 时却无效?

如果需要,我很乐意添加更多信息。

小智 7

运行expo build:web捆绑 SPA,并且您需要将对已部署应用程序的调用重定向到index.html. vercel.jsonVercel 允许使用位于项目根目录下的配置文件配置重定向。

在您的 Expo 根目录中添加一个web/文件夹,并在该文件夹中创建一个包含以下内容的vercel.json文件:web/

{
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
Run Code Online (Sandbox Code Playgroud)

web-build当您运行时,该文件将被复制到该文件夹​​中expo build:web