将 Create-React-App 部署到多个 URL

Posted

技术标签:

【中文标题】将 Create-React-App 部署到多个 URL【英文标题】:Deploying Create-React-App to Multiple URLs 【发布时间】:2019-06-05 18:19:48 【问题描述】:

我希望能够构建相同的 CRA 应用并将其部署到 www.homepage.com/beta 和 www.homepage.com/web

原因是我可以为我的 beta 用户部署不同的版本,同时为其他用户提供网站的非 beta 版本。

我在 React-Router 中更改了我的 ROUTE 以处理一个 url 是否具有 /web//beta/ 并且它在本地工作,但是当我部署并转到 homepage.com/beta 时,我的路由正在呈现。

我已将其范围缩小到我的package.json,它具有homepage 属性。如果它使用homepage.com/beta,那么测试版网站可以工作。如果我使用homepage.comhomepage.com/web/,那么测试版将无法正常工作。

想法?

【问题讨论】:

【参考方案1】:

我会选择子域解决方案 (beta.homepage.com),它还允许在 beta 部署和非 beta 部署之间进行适当的站点存储和 cookie 分离

【讨论】:

所以我会在package.json 中将homepage 属性设置为www.homepage.com,但是我如何才能告诉我的应用要加载哪个版本?我需要维护两个代码库吗? 我认为应用程序的不同版本应该在不同的代码库中(另见docs.npmjs.com/files/package.json#version)。 “主页”属性似乎还有其他用途(docs.npmjs.com/files/package.json#homepage)。 在这种情况下,路由将通过 Web 服务器配置执行(例如,对于 nginx nginx.org/en/docs/http/request_processing.html

以上是关于将 Create-React-App 部署到多个 URL的主要内容,如果未能解决你的问题,请参考以下文章

获取 404 以获取将 create-react-app 部署到 github 页面的链接

使用 create-react-app 部署 github 页面时出现 React-router 问题 [关闭]

部署 create-react-app 时无法加载资源错误 404

使用 express 后端将 create-react-app 部署到 heroku 在浏览器中返回无效的主机标头

如何在开发模式而不是生产模式下部署 create-react-app 网站

create-react-app脚手架项目打包CDN部署