我创建了一个网站,并尝试在git中心页面上托管它。我的网站位于 -
http://<username>.github.io/<project name>/
但我网站的静态文件可通过以下路径获取 -
http://<username>.github.io/css/site.css
http://<username>.github.io/script/main.js
上述路径省略了<project name>
所以每当我点击url时,我的静态文件都没有被加载。
有没有办法让它与github网址一起使用?
注意:当我使用自定义域时,一切正常,因为在这种情况下相对路径很好。
临时解决方案 我创建了一个User page instead of a Project page来克服这个问题。
答案 0 :(得分:20)
另一个选项是将文件.nojekyll
包含在您的顶级目录中,告诉github只是为您的页面提供服务而不试图破解它们(如果您尝试从sphinx发布oputput,这很有用)它不再需要解析/修改/重写。
答案 1 :(得分:12)
来自documentation to setup a custom domain:
警告:项目页面子路径如 http://username.github.io/projectname不会被重定向到 项目的自定义域。
这意味着,由于相对路径,您可以在自定义域上的username.github.io/project-name
或上拥有资源。
如果你想在github中找到它们,请查看文档中有关baseurl
配置的内容,它位于页面底部的“Project Url Structure”中。你只需添加一个
baseurl: /project-name
排到_config.yml
并在永久链接中使用{{ baseurl }}
标记,jekyll会进行替换。要在本地测试它,只需使用此选项运行服务器
jekyll serve --baseurl ''
希望它有所帮助:)快乐的编码!
答案 2 :(得分:0)
如果您的项目是使用Create React App创建的React应用,请在homepage
中设置package.json
,例如:
"homepage": "/<project name>",
如果您不使用客户端路由,请使用以下方法:
"homepage": ".",
请参见https://create-react-app.dev/docs/deployment/#building-for-relative-paths。