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โฮสต์ repo ของคุณใน URL พิเศษดังนั้นสิ่งที่คุณต้องทำคือเช็คอินไฟล์และกด โปรดทราบว่าในกรณีส่วนใหญ่หน้า GitHub ต้องการให้คุณยอมรับสาขาพิเศษ, 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
สาขาของคุณ สิ่งนี้มีประโยชน์เพราะโดยทั่วไปคุณไม่ต้องการติดตามการเปลี่ยนแปลงในไฟล์บิลด์ใน repo ปกติของคุณ ทุกครั้งที่คุณต้องการที่จะปรับปรุงแฟ้มโฮสต์ของคุณเพียงแค่ผสาน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