针对 github 页面的 npm 构建将请求链接到基本 url 而不是子 url

问题描述 投票:0回答:1

使用 github actions 运行 npm build,然后使用我的 gh-pages 分支部署到 github 页面。 index.html 文件从 https://user.github.io/ 加载正常,但所有其他 http 请求都会转到该 url 而不是资源所在位置,https://user.github.io/Project/

这是其中一项要求: 获取 /static/css/main.15693543.css HTTP/2 主机:user.github.io 用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64;rv:127.0) Gecko/20100101 Firefox/127.0 接受:text/css,/;q=0.1 接受语言:en-US,en;q=0.5 接受编码:gzip、deflate、br、zstd 连接:保持活动状态 参考:https://user.github.io/Project/ Sec-Fetch-Dest:样式 Sec-Fetch-Mode:无cors Sec-Fetch-Site:同源 优先级:u=2 TE:预告片

*注意我用用户和项目替换了 url

当我访问 https://user.github.io/static/css/main.15693543.css 时,该文件就在那里。只需要构建所有文件位置都指向 Project/static/~ 而不是 /static/~

这是直接来自构建的根 html:

尝试过:

  • 添加 npm run build --public-path=/Project/
  • 添加 npm run build --base-url=/Project/
  • 启用和禁用 jekyll
  • 添加到html标题
  • 手动更改分支的每个文件中的路径,该路径有效,但效率不高

我的临时解决方案是简单的查找和替换

  • 名称:查找和替换 使用:jacobtomlinson/gha-find-replace@v3 和: 查找:“/静态/” 替换:“/项目/静态/” 正则表达式:假
url path github-actions github-pages npm-build
1个回答
0
投票

我找到的解决方案是在本地运行一个脚本,该脚本直接构建并部署到分支,而不是在主分支更新时自动运行: https://medium.com/@hannawerman/deploy-your-react-app-on-github-pages-a1d4cfdc88e9

© www.soinside.com 2019 - 2024. All rights reserved.