将 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.com
或homepage.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 在浏览器中返回无效的主机标头