如何让Create React App构建时使用相对路径而非绝对路径?
解决方案:将Create React App打包后的资源改为相对路径
当然可以实现这个需求!这在多应用同目录部署的场景下非常实用,Create React App本身就提供了简单的配置方式来搞定。
核心配置步骤
- 打开项目根目录下的
package.json文件 - 添加或修改
homepage字段为"./":{ "name": "your-app-name", "version": "0.1.0", "homepage": "./", // 其他项目配置... } - 重新执行打包命令:
npm run build
完成这些操作后,你去查看build文件夹里的index.html就会发现,原来带初始斜杠的绝对资源路径(比如/static/js/main.xxxx.js)已经变成了相对路径(./static/js/main.xxxx.js)。这样你的应用就能和其他应用部署在同一目录下,各自相对当前index.html的位置加载自身资源,不会出现资源引用混乱的问题。
额外路由注意事项
如果你的应用使用了React Router这类路由库,建议优先使用HashRouter;如果坚持用BrowserRouter,记得给它设置正确的basename属性,避免路由跳转时出现路径错误的问题。
内容的提问来源于stack exchange,提问作者Shai UI
相关产品推荐
相关产品推荐

