当使用create-react-app创建项目时候,package.json里面加了homepage的字段,"homepage": ".",
在本地打包没问题的。当上服务器的时候,发现资源拿不到问题: 本人使用的是react-router4,发现正常路由时候,获取资源 是static下面,没问题,当页面内添加子路由时候,子路由里面的js,css就拿不到了,打开控制台查看了一下,资源前面加了父路由了,例如: 父路由: root ,子路由是root/list ,发现root/list服务器上资源 /root/static ..., 而不是 /static。
后来把 package.json的 "homepage": ".", 干掉。重新build,上传到服务器,资源正常加载了。
问题来了 homepage 有啥用?
package.json配置说明: 项目url主页。"homepage": ".", 这个配置使用当前文件夹中的相对路径,所以父级路由没问题,子路由应该是 "../",所以默认会在父级下找。
个人建议,要加就加上服务器http:// ..地址,要么不要这个字段。