Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

แบ่งปันทรัพยากรโครงการในหลาย ๆ ไซต์

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

คุณตั้งค่าไซต์โฮสติ้ง Firebase อย่างน้อย 1 แห่งในโปรเจ็กต์ Firebase เดียวได้ เนื่องจากไซต์ทั้งหมดอยู่ในโปรเจ็กต์ Firebase เดียวกัน ไซต์ทั้งหมดจึงสามารถเข้าถึงทรัพยากร Firebase อื่นๆ ของโปรเจ็กต์ได้

ด้วยการตั้งค่าไซต์โฮสติ้งหลายไซต์ภายในโปรเจ็กต์ Firebase เดียวกัน คุณสามารถแชร์ทรัพยากร Firebase ระหว่างไซต์และแอปที่เกี่ยวข้องได้ง่ายขึ้น ตัวอย่างเช่น หากคุณตั้งค่าบล็อก แผงการดูแลระบบ และแอปสาธารณะเป็นไซต์แต่ละไซต์ในโครงการ Firebase เดียวกัน ไซต์ทั้งหมดจะแชร์ฐานข้อมูลผู้ใช้การตรวจสอบสิทธิ์ของ Firebase เดียวกันได้ ในขณะที่มีโดเมนหรือเนื้อหาเฉพาะของตนเอง

ขั้นตอนที่ 1 : อัปเดตเวอร์ชัน Firebase CLI ของคุณ

เข้าถึงคุณสมบัติ Firebase Hosting ล่าสุดโดย อัปเดตเป็นเวอร์ชันล่าสุดของ Firebase CLI

ขั้นตอนที่ 2 : เพิ่มไซต์เพิ่มเติม

เพิ่มไซต์เพิ่มเติมในโครงการ Firebase โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

สำหรับแต่ละวิธีเหล่านี้ คุณจะต้องระบุ SITE_ID ซึ่งใช้ในการสร้างโดเมนย่อยเริ่มต้นที่ Firebase จัดเตรียมไว้สำหรับไซต์:

  • SITE_ID .web.app
  • SITE_ID .firebaseapp.com

เนื่องจากมีการใช้ SITE_ID สำหรับ URL เหล่านี้ รหัสไซต์จึงมีข้อกำหนดดังต่อไปนี้:

  • ต้องเป็นป้ายกำกับชื่อโฮสต์ที่ถูกต้อง ซึ่งหมายความว่าต้องไม่มี . , _ , ฯลฯ.
  • ต้องมีอักขระไม่เกิน 30 ตัว
  • ต้องไม่ซ้ำกันทั่วโลกภายใน Firebase

ในแต่ละไซต์ คุณสามารถ เพิ่มโดเมนที่กำหนดเอง เพื่อให้บริการเนื้อหาและการกำหนดค่าเดียวกันสำหรับ URL หลายรายการได้

ลบไซต์รอง

ลบไซต์ที่ไม่ต้องการออกจากโปรเจ็กต์ Firebase โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

โปรดทราบว่าคุณไม่สามารถลบไซต์เริ่มต้นซึ่งมี SITE_ID เดียวกันกับรหัสโปรเจ็กต์ Firebase ของคุณ

ขั้นตอนที่ 3 : ตั้งค่าเป้าหมายการปรับใช้สำหรับไซต์ของคุณ

เมื่อคุณมีหลายไซต์และเรียกใช้คำสั่งการปรับใช้ Firebase CLI CLI จำเป็นต้องมีวิธีในการสื่อสารว่าการตั้งค่าใดควรปรับใช้กับแต่ละไซต์ ด้วย เป้าหมายการทำให้ใช้งาน ได้ คุณสามารถระบุไซต์ เฉพาะเจาะจง ด้วย TARGET_NAME ใน ไฟล์การกำหนดค่า firebase.json และใน คำสั่ง Firebase CLI สำหรับการทดสอบหรือปรับใช้กับไซต์ของคุณ

ในการสร้างเป้าหมายการปรับใช้และใช้ TARGET_NAME กับไซต์โฮสติ้ง ให้เรียกใช้คำสั่ง CLI ต่อไปนี้จากรูทของไดเรกทอรีโครงการของคุณ:

firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER

โดยที่พารามิเตอร์คือ:

  • TARGET_NAME — ชื่อเฉพาะ (ที่คุณกำหนดเอง) สำหรับไซต์โฮสติ้งที่คุณกำลังปรับใช้

  • RESOURCE_IDENTIFIERSITE_ID สำหรับไซต์โฮสติ้ง ตามที่ระบุไว้ในโครงการ Firebase ของคุณ

ตัวอย่างเช่น หากคุณสร้างสองไซต์ ( myapp-blog และ myapp-app ) ในโครงการ Firebase คุณสามารถใช้ TARGET_NAME ( blog และ app ตามลำดับ) ที่ไม่ซ้ำกันกับแต่ละไซต์ได้โดยการเรียกใช้คำสั่งต่อไปนี้:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

การตั้งค่าสำหรับเป้าหมายการปรับใช้จะถูกเก็บไว้ในไฟล์ . .firebaserc ในไดเรกทอรีโปรเจ็กต์ของคุณ ดังนั้นคุณจึงจำเป็นต้องตั้งค่าเป้าหมายการปรับใช้เพียงครั้งเดียวต่อโปรเจ็กต์

ขั้นตอนที่ 4 : กำหนดการกำหนดค่าโฮสต์สำหรับแต่ละไซต์

ใช้ TARGET_NAME ของไซต์เมื่อคุณกำหนดค่าการโฮสต์ในไฟล์ firebase.json

  • หากไฟล์ firebase.json ของคุณกำหนดการกำหนดค่าสำหรับหลายไซต์ ให้ใช้รูปแบบอาร์เรย์:

    {
      "hosting": [ {
          "target": "blog",  // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog"
          "public": "blog/dist",  // contents of this folder are deployed to the site "myapp-blog"
    
          // ...
        },
        {
          "target": "app",  // "app" is the applied TARGET_NAME for the Hosting site "myapp-app"
          "public": "app/dist",  // contents of this folder are deployed to the site "myapp-app"
    
          // ...
    
          "rewrites": [...]  // You can define specific Hosting configurations for each site
        }
      ]
    }
    
  • หากไฟล์ firebase.json กำหนดการกำหนดค่าสำหรับไซต์เดียวเท่านั้น ไม่จำเป็นต้องใช้รูปแบบอาร์เรย์:

    {
      "hosting": {
          "target": "blog",
          "public": "dist",
    
          // ...
    
          "rewrites": [...]
      }
    }
    

ขั้นตอนที่ 5 : ทดสอบในเครื่อง ดูตัวอย่างการเปลี่ยนแปลง และปรับใช้กับเว็บไซต์ของคุณ

รันคำสั่งใดๆ ต่อไปนี้จากรูทของไดเร็กทอรีโปรเจ็กต์ในเครื่องของคุณ

สั่งการ คำอธิบาย
firebase emulators:start --only hosting จำลองเนื้อหาโฮสติ้งและการกำหนดค่าของไซต์โฮสติ้ง เริ่มต้น ที่ URL ที่โฮสต์ในเครื่อง
firebase emulators:start --only hosting: TARGET_NAME จำลองเนื้อหาโฮสติ้งและการกำหนดค่าของไซต์โฮสติ้งที่ระบุที่ URL ที่โฮสต์ในเครื่อง
firebase hosting:channel:deploy \
CHANNEL_ID
ปรับใช้เนื้อหาโฮสติ้งและการกำหนดค่าของไซต์โฮสติ้ง เริ่มต้น ที่ URL แสดงตัวอย่าง
firebase hosting:channel:deploy \
CHANNEL_ID --only TARGET_NAME
ปรับใช้เนื้อหาโฮสติ้งและการกำหนดค่าของไซต์โฮสติ้งที่ระบุที่ URL แสดงตัวอย่าง
firebase deploy --only hosting ปรับใช้เนื้อหาโฮสติ้งและการกำหนดค่าไปยังช่องทางสดของเว็บไซต์โฮสติ้ง ทั้งหมด ที่กำหนดค่าใน firebase.json
firebase deploy --only hosting: TARGET_NAME ปรับใช้เนื้อหาโฮสติ้งและการกำหนดค่าไปยังช่องทางสดของไซต์โฮสติ้งที่ระบุ
สั่งการ คำอธิบาย
(ไม่แนะนำ ใช้ emulators:start แทน)
firebase serve --only hosting
ให้บริการเนื้อหาโฮสติ้งและการกำหนดค่าของเว็บไซต์โฮสติ้ง เริ่มต้น ที่ URL ที่โฮสต์ในเครื่อง
(ไม่แนะนำ ใช้ emulators:start แทน)
firebase serve --only hosting: TARGET_NAME
ให้บริการเนื้อหา Hosting และการกำหนดค่าของเว็บไซต์ Hosting ที่ระบุที่ URL ที่โฮสต์ในเครื่อง