在package.json设置homepage后构建时未设置PUBLIC_URL的问题咨询
解决React build后%PUBLIC_URL%未替换为homepage字段的问题
我之前也碰到过一模一样的问题,给你几个实用的排查和解决方向:
先确认react-scripts版本:旧版本的create-react-app确实存在homepage字段不生效的bug,建议升级到最新稳定版:
npm install react-scripts@latest # 或者用yarn yarn add react-scripts@latest检查homepage字段的格式:确保package.json里的
homepage没有拼写错误,格式完全正确。比如你要设置的是根域名,就写:"homepage": "https://example.com"如果是子路径(比如
https://example.com/my-app),也要完整写出来,不要漏掉路径部分。手动指定PUBLIC_URL环境变量:如果自动替换还是不生效,可以在build命令里直接强制设置这个变量。修改package.json的scripts:
"scripts": { "start": "react-scripts start", "build": "PUBLIC_URL=https://example.com react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }注意Windows系统需要用
set命令:"build": "set PUBLIC_URL=https://example.com && react-scripts build"排查自定义配置干扰:如果你用过
eject,或者用了craco、react-app-rewired这类工具修改过webpack配置,可能覆盖了默认的PUBLIC_URL处理逻辑。这时候需要检查自定义配置里是否正确传递了环境变量,或者有没有修改publicPath相关的设置。清理缓存重新构建:有时候依赖缓存会导致奇怪的问题,试试删除
node_modules、package-lock.json(或yarn.lock),然后重新安装依赖,再执行build命令。
内容的提问来源于stack exchange,提问作者rahul
相关产品推荐
相关产品推荐

