GitHub Pages - официальное решение этой проблемы на GitHub.
raw.githubusercontent
заставляет все файлы использовать text/plain
тип MIME, даже если файл является файлом CSS или JavaScript. Таким образом, переход к https://raw.githubusercontent.com/‹user›/‹repo›/‹branch›/‹filepath›
не будет правильным типом MIME, это будет обычный текстовый файл, и связать его через <link href="..."/>
или <script src="..."></script>
не получится - CSS не будет применяться / JS не запустится.
GitHub Pages размещает ваше репо по специальному URL-адресу, поэтому все, что вам нужно сделать, это зарегистрировать свои файлы и нажать . Обратите внимание, что в большинстве случаев GitHub Pages требует, чтобы вы выполняли фиксацию в специальной ветке gh-pages
.
На вашем новом сайте, который обычно https://‹user›.github.io/‹repo›
, каждый файл, зафиксированный в ветке gh-pages
(самая последняя фиксация), присутствует по этому URL-адресу. Итак, вы можете связать свой файл js через <script src="https://‹user›.github.io/‹repo›/file.js"></script>
, и это будет правильный тип MIME.
У вас есть файлы сборки?
Лично я рекомендую запустить эту ветку параллельно с master
. В ветке gh-pages
вы можете отредактировать свой .gitignore
файл, чтобы вернуть все файлы dist / build, которые вам нужны для вашего сайта (например, если у вас есть минифицированные / скомпилированные файлы), при сохранении их игнорируется в вашей master
ветке. Это полезно, потому что обычно вы не хотите отслеживать изменения в файлах сборки в обычном репозитории. Каждый раз, когда вы хотите обновить размещенные файлы, просто объединяйте master
в gh-pages
, перестраивайте, фиксируйте и затем нажимайте.
(совет: вы можете объединить и перестроить в одном коммите, выполнив следующие действия :)
$ git checkout gh-pages
$ git merge --no-ff --no-commit master # prepare the merge but don’t commit it (as if there were a merge conflict)
$ npm run build # (or whatever your build process is)
$ git add . # stage the newly built files
$ git merge --continue # commit the merge
$ git push origin gh-pages
person
chharvey
schedule
22.10.2018
rawgit
кеш никогда не обновляется. - person vsync   schedule 05.07.2018