GitHub Pages è la soluzione ufficiale di GitHub a questo problema.
raw.githubusercontentfa in modo che tutti i file utilizzino il text/plaintipo MIME, anche se il file è un file CSS o JavaScript. Quindi https://raw.githubusercontent.com/‹user›/‹repo›/‹branch›/‹filepath›non sarà il tipo MIME corretto, ma piuttosto un file di testo in chiaro e collegandolo tramite <link href="..."/>o <script src="..."></script>non funzionerà: il CSS non si applicherà / il JS non funzionerà.
GitHub Pages ospita il tuo repository in un URL speciale, quindi tutto ciò che devi fare è archiviare i tuoi file e inviare. Tieni presente che nella maggior parte dei casi, GitHub Pages richiede di impegnarti in un ramo speciale,gh-pages .
Sul tuo nuovo sito, che di solito è https://‹user›.github.io/‹repo›, tutti i file sottoposti a commit nella gh-pagesfiliale (il commit più recente) sono presenti in questo URL. Quindi puoi collegarti al tuo file js tramite <script src="https://‹user›.github.io/‹repo›/file.js"></script>, e questo sarà il tipo MIME corretto.
Hai file di build?
Personalmente, la mia raccomandazione è di eseguire questo ramo parallelamente master. Sul gh-pagesramo, è possibile modificare il .gitignorefile per il check-in tutti i file dist / build avete bisogno per il tuo sito (ad esempio se una minified / file compilati), mentre mantenendoli ignorati sul masterramo. Ciò è utile perché in genere non si desidera tenere traccia delle modifiche nei file di build nel repository normale. Ogni volta che si desidera aggiornare i file ospitati, semplicemente si fondono masterin gh-pages, ricostruire, impegnarsi, e poi spingere.
(protip: puoi unire e ricostruire nello stesso commit con questi passaggi :)
$ 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