需要根据构建环境配置设置 <base href=""/>
标签的 href 值。
例如:
Staging 环境应该有 <base href="/staging" />
Prod 环境应该有 <base href="/" />
当前设置:
构建命令:
"build": "sh -ac '. .env.${REACT_APP_ENV}; react-scripts build'",
"build:staging": "REACT_APP_ENV=staging npm run build",
"build:prod": "REACT_APP_ENV=production npm run build",
.env.staging.js:
REACT_APP_BASE_HREF=/staging
index.html:
....
<base href="" + process.env.REACT_APP_API_URL />
....
在index.html中似乎不起作用。虽然类似的设置对JS文件有效
(可能是因为JS文件被解析并捆绑成一个单独的文件,捆绑器在那个时间点读取值)
尝试过的方法:
index.html:
<base href=process.env.REACT_APP_API_URL />
<base href="process.env.REACT_APP_API_URL" />
<base href="%process.env.REACT_APP_API_URL%" />
(类似于PUBLIC_URL变量)
同时设置basename属性和Browser Router也不能解决问题