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

Expo + React Navigation + Vercel: Deep Linking not working

我正在使用 expo sdk41、react navigation 5 和 vercel 来部署网络构建,使用 expo build:web 构建。

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

我已经在做以下事情,这让 deep linking 可以在开发中工作:

export const linking = {
    prefixes: [Linking.createUrl('/'),
    screens: {
        ...
    }
}

为什么 deep linking 在开发中工作而不是在部署到 vercel 时?

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

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

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

{
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}

当您 运行 expo build:web 时,此文件将被复制到 web-build 文件夹。