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
文件夹。
我正在使用 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
文件夹。