ข้ามไปยังเนื้อหาหลัก

การโฮสต์ไฟล์สถิติใน CDN

ไฟล์ทรัพยากรสถิติของ frontend เช่นไฟล์ .js และ .css ตั้งอยู่ใน web/build/static/ หากคุณต้องการปรับใช้ไฟล์เหล่านี้ในบริการ CDN ของคลาวด์สาธารณะ Casdoor มีสคริปต์ที่ทำให้กระบวนการปรับใช้ง่ายขึ้น กรุณาทำตามขั้นตอนด้านล่าง

หมายเหตุ

เราสมมติว่าคุณได้สร้างโค้ด frontend ของ Casdoor เรียบร้อยแล้ว หากคุณยังไม่ได้ทำ กรุณาดูที่ เอกสาร

การเตรียมการ

ขั้นแรก คุณต้องสร้าง Storage Provider ที่ถูกต้องใน UI ของ Casdoor คุณสามารถดูตัวอย่างได้ที่ ตัวอย่าง

คำเตือน

เมื่อกรอกข้อมูลในช่อง Domain ต้องแน่ใจว่าจบด้วย '/' storage_domian

การใช้งาน

สคริปต์สามารถพบได้ที่ deployment/deploy_test.go

ใน deploy_test.go, คุณต้องแก้ไขพารามิเตอร์ id ใน GetProvider() รูปแบบของ provider id คือ <owner>/<name>

func TestDeployStaticFiles(t *testing.T) {
provider := object.GetProvider("admin/provider_storage_aliyun_oss")
deployStaticFiles(provider)
}

หลังจากทำการแก้ไขที่จำเป็นแล้ว ใช้คำสั่งต่อไปนี้เพื่อรันสคริปต์:

cd deployment
go test

หากการดำเนินการสำเร็จ คุณจะเห็น:

PASS
ok github.com/casdoor/casdoor/deployment 2.951s

วิธีการทำงาน

สคริปต์จะ:

  • อัปโหลดไฟล์ทั้งหมดในโฟลเดอร์ css/ และ js/ ไปยังบริการ CDN ที่ระบุโดย storage provider
  • แทนที่ URL ทั้งหมดของไฟล์ .css และ .js ใน web/build/index.html ด้วย URL ที่โฮสต์ใน CDN

คุณยังต้องเก็บไฟล์ index.html หลังจากไฟล์สถิติถูกอัปโหลดไปยัง CDN แล้ว index.html จะยังคงถูกขอโดยผู้ใช้ผ่าน backend ของ Casdoor ที่เขียนด้วย Go และไฟล์สถิติใน CDN จะถูกขอผ่าน URL ที่ให้ไว้ใน index.html