Страницы GitHub — включая файлы из того же репозитория

#javascript #html #github #github-pages

Вопрос:

Итак, у меня есть репо на GitHub, которое отображает веб-сайт через страницы GitHub. Источником публикации является /docs/ вложенная папка в master ветви (и это единственная ветвь). У меня есть еще несколько файлов JavaScript во /src/ вложенной папке. Таким образом, по сути, структура проекта представляет собой нечто вроде:

 /
 docs/
      index.html
 src/
     Main.js
     ... (other .js files) ...
 README.md
 ...
 

Теперь я хочу /docs/index.html иметь возможность загружать и использовать /src/Main.js . На моем локальном компьютере это достаточно просто — я могу просто ссылаться на него как

 ../src/Main.js
 

внутри моего /docs/index.html досье.

Однако, когда я пытаюсь просмотреть живой проект на GitHub, возникают проблемы. Текущая версия /docs/index.html файла теперь находится по адресу

 https://(my-username).github.io/(my-repo-name)/
 

Поэтому он ищет на /src/Main.js

 https://(my-username).github.io/src/Main.js
 

что возвращает 404.

На самом деле, я даже не знаю, где я могу найти /src/Main.js файл, так как

 https://(my-username).github.io/(my-repo-name)/src/Main.js
 

также возвращает 404.

Итак, как я могу загрузить /src/Main.js файл из своего /docs/index.html файла? В идеале я хотел бы получить решение, которое будет работать как на моей локальной машине, так и в живой версии.

Ответ №1:

Я нашел решение. Похоже, что страницы GitHub могут находить только файлы, которые находятся в «источнике публикации». Поэтому, если у вас установлен источник публикации /docs/ , он не сможет получить доступ к файлам за пределами /docs/ папки.

Итак, решение состоит в том , чтобы установить источник публикации в корневой / каталог, перейти index.html в корневой каталог, а затем получить доступ ко всем подкаталогам корневого каталога (включая /src/ подпапку).