BB

GitHub Pages 的 index.html ***.css ***.js 等文件引用逻辑,不同情况需使用不同逻辑
做个记录方便翻看


三种部署形式

https://用户名.github.io/
https://用户名.github.io/仓库名/
https://仓库名.com/


0. 目录本身命名规则

解决方法:

  1. 修改目录名称(推荐)
    如果不想禁用 Jekyll,可以将 _folder 改名为不以 _ 开头的目录名,例如 folder,这样 Jekyll 就不会忽略这个目录中的内容。

  2. 添加 .nojekyll 文件
    在项目根目录添加一个空的 .nojekyll 文件,这样可以禁用 Jekyll 的处理,所有文件和目录都会原封不动地部署。只需在项目根目录创建一个名为 .nojekyll 的空文件并提交即可。

选择一种方法后,重新部署 GitHub Pages 项目,CSS 文件应该就能正确加载了。


1. index.html 文件内引用


2. CSS 文件内引用

兼容 # 三种部署形式

假设 GitHub Pages 的 main 分支内有以下目录文件
css/style.css
images/avatar.svg

style.css 文件内引用 avatar.svg,引用文件路径需使用 ../

.bg-\[url\(\'\/grid\.svg\'\)\] {
    background-image: url(../images/avatar.svg);
}

3. JS 文件内引用

兼容 # 三种部署形式

现有文件
仓库/js/tools/tool.js
仓库/js/script.js

仓库/js/tools/tool.js 的内容想要引用仓库/js/script.js
需要直接使用目录前缀,使用的路径为 js/script.js,

            const r = document.createElement("script");
            r.src = "js/script.js";
            r.async = true;