React native 世博会构建网页路径
我和世博会做了一个项目 它工作得很好,我很高兴,但现在我需要直接访问子页面(例如) 在App.js中,我做了以下几点:React native 世博会构建网页路径,react-native,expo,react-navigation,React Native,Expo,React Navigation,我和世博会做了一个项目 它工作得很好,我很高兴,但现在我需要直接访问子页面(例如) 在App.js中,我做了以下几点: ... const linking = { prefixes: ['https:/example.com'], config: { screens: { Home: '', Backoffice: '/backoffice', } }, }; return ( <Naviga
...
const linking = {
prefixes: ['https:/example.com'],
config: {
screens: {
Home: '',
Backoffice: '/backoffice',
}
},
};
return (
<NavigationContainer linking={linking}>
...
。。。
常量链接={
前缀:['https:/example.com'],
配置:{
屏幕:{
家:'',
后台办公室:'/Backoffice',
}
},
};
返回(
...
如果我在开发模式下执行代码,并将站点调用到:19006端口,我可以直接访问子页面
如果我在
expo build:web
和npx-serve-web build
之后执行代码,我将无法访问子页面(我收到一个404未找到).既然您使用的是serve,那么您需要一个serve.json
来处理重定向。Expo通过Expo build:web
自动生成serve.json
,但它不包括任何重定向代码。您可以在app.json
中添加一个设置来自动生成重定向代码,但我看不到文档中的任何内容。(希望有人能在这里启发我)
假设这是一个带有index.html
的单页web应用程序,在构建web应用程序后,您需要在service.json
中添加以下内容:
{
...
"rewrites": [
{ "source": "/*", "destination": "/index.html" }
]
}
这种方法并不理想,因为每次构建web应用时都必须这样做,但至少它应该允许您在本地运行构建时访问子页面
例如,如果要在Netlify上部署,则需要添加一个\u重定向
文件。我将我的\u重定向
文件放在我的项目根目录中名为web
(即web/\u重定向
)您可以在Netlify文档中找到有关重定向文件的更多信息,但该文件应如下所示:
/* /index.html 200
创建此文件后,如果运行expo build:web
,您应该可以在web build
目录中看到它。这应该允许您将其作为单页web应用程序部署到Netlify上