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 розміщують ваше репо за спеціальною 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
, перебудовувати фіксації, а потім натисніть кнопку.
(protip: за допомогою цих кроків ви можете об'єднатись і відновити в одному і тому ж виконанні :)
$ 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