我正在开发一个新项目,其中react/express作为前端和环回作为后端api.我在开发环境中使用不同的端口将它们分开.
我该如何在生产中部署它们?
托管在同一台服务器上 - 将后端与不同的子域分开?
托管在2个不同的服务器上 - 似乎无法使用同一个域.
尝试使用 Firebase 动态链接设置深度链接,但即使应用已安装,该链接也始终将用户引导回 App Store。
我尝试过“链接预览(调试)”来测试我的动态链接。单击“具有深层链接的应用程序”和“使用自定义方案”正确启动应用程序,并将用户路由到应用程序内的正确页面。所以我假设我的 AASA 和应用程序设置正确。
我已经多次验证了 Firebase 中配置的 iOS 捆绑包 ID、App Store ID 和团队 ID。所有这些都已正确填充,但链接仍将始终引导我到 App Store。任何人都可以建议还有什么可能导致这个问题吗?
如果我继续将链接更改为“在浏览器中打开深层链接 URL”或“自定义 URL”,它将在我的 iOS 应用程序中正确打开该链接。但是,当用户没有安装该应用程序时,它会抛出错误,因为该链接不是我的网络服务器的有效 URL。
编辑:当应用程序不可用时,通过选择“自定义 URL”进行了额外的测试,并且通过打开应用程序的动态链接来工作(!)。但是,如果我从手机中删除该应用程序,它不会将我重定向到自定义链接。它将继续打开我手机中的深层链接,并最终出现网络服务器错误,因为它不是有效的链接。“链接预览(调试)”的屏幕截图,其中将“App Store”更改为“Web 链接”。
对于第一种情况,它无法检测到我的手机是否安装了该应用程序;对于第二种情况,它无法检测到我的手机中是否已卸载该应用程序。
deep-linking ios firebase react-native firebase-dynamic-links
这是我配置客户端通过react-intl呈现正确语言的方式.
import localeData from './translations/en.json';
//import localeData from './translations/xx.json'; <-- any language
const render = routes => {
match({ history, routes }, (error, redirectLocation, renderProps) => {
ReactDOM.render(
<HotEnabler>
<IntlProvider locale={locale} messages={localeData}>
<Provider store={store} app={app} restApp={restApp} key="provider">
<Router {...renderProps} render={renderRouter} history={history}>
{routes}
</Router>
</Provider>
</IntlProvider>
</HotEnabler>,
dest
);
});
};
render(getRoutes(store));
Run Code Online (Sandbox Code Playgroud)
但是我想根据cookie中的语言环境动态导入localeData.因此,如果我的用户的语言环境是"en",我将只加载en.json文件.
const locale = Cookie.get('locale') || 'en';
const render = routes => {
match({ history, routes }, (error, redirectLocation, renderProps) => {
ReactDOM.render(
<HotEnabler>
<IntlProvider locale={locale} messages={localeData}>
<Provider store={store} …Run Code Online (Sandbox Code Playgroud) reactjs ×2
backend ×1
deep-linking ×1
deployment ×1
firebase ×1
frontend ×1
ios ×1
javascript ×1
json ×1
node.js ×1
react-intl ×1
react-native ×1