เฟรมเวิร์กและเครื่องมือสําหรับ App Hosting

Firebase App Hosting ออกแบบมาโดยเฉพาะเพื่อรองรับการพัฒนาเว็บแอปสมัยใหม่ที่เน้นเฟรมเวิร์กเป็นหลัก ใช้หน้านี้เป็นข้อมูลอ้างอิงสำหรับเครื่องมือและ เฟรมเวิร์กที่ App Hosting รองรับโดยตรง รวมถึงเป็นจุดเริ่มต้น ในการเรียนรู้เกี่ยวกับเฟรมเวิร์กและเครื่องมือที่เกี่ยวข้อง

เฟรมเวิร์กเว็บและ App Hosting

App Hosting ให้การสนับสนุนเฟรมเวิร์กเว็บสมัยใหม่ใน 2 ระดับกว้างๆ ได้แก่ การสนับสนุนการสร้างและติดตั้งใช้งานที่กำหนดค่าไว้ล่วงหน้า และการสนับสนุนระดับชุมชนผ่าน การมีส่วนร่วมในโอเพนซอร์สที่เป็นไปตามข้อกำหนดของ App Bundle เอาต์พุต ทั้ง 2 กรณีนี้ คอมโพเนนต์ Framework Adapter จะช่วยให้ผสานรวมเฟรมเวิร์กเฉพาะ กับ App Hostingได้

เฟรมเวิร์กที่มีการสนับสนุนการสร้างและติดตั้งใช้งานที่กำหนดค่าไว้ล่วงหน้า

ด้วยการสนับสนุนการสร้างและติดตั้งใช้งานที่กำหนดค่าไว้ล่วงหน้า Firebase จะระบุเฟรมเวิร์กที่คุณใช้โดยการตรวจสอบไฟล์ package-lock.json หรือไฟล์ล็อกอื่นๆ และเพิ่มประสิทธิภาพกระบวนการสร้างและติดตั้งใช้งานสำหรับแอป Google มุ่งมั่นที่จะให้การสนับสนุนเฟรมเวิร์กเหล่านี้ต่อไป และทีมสนับสนุนของ Firebase สามารถรับรายงานปัญหาและคำขอฟีเจอร์ได้

เราให้การสนับสนุนในระดับนี้สำหรับเฟรมเวิร์กต่อไปนี้

  • Next.js
  • Angular

ดูรายละเอียดเกี่ยวกับเวอร์ชัน และระดับการสนับสนุนที่เฉพาะเจาะจงได้ที่ กำหนดเวลาการสนับสนุน

หากคุณพยายามติดตั้งใช้งานแอป Node.js ที่ไม่มีไฟล์ล็อก App Hosting จะสร้างและเรียกใช้แอปไม่สำเร็จ คุณสามารถสร้าง package-lock.json ได้โดย เรียกใช้ npm install ในไดเรกทอรีราก

เฟรมเวิร์กที่ชุมชนให้การสนับสนุน

นอกเหนือจาก Next.js และ Angular แล้ว App Hosting ยังรองรับเฟรมเวิร์กเว็บใดก็ตามที่สามารถให้เอาต์พุตบิลด์ที่ตรงกับข้อกำหนดของ App Bundle เอาต์พุตของเรา ผู้เขียนเฟรมเวิร์กสามารถใช้ประโยชน์จากข้อกำหนดของ App Bundle เอาต์พุตเพื่อให้แน่ใจว่า App Hosting จะรองรับเฟรมเวิร์กของตน App Hosting ตัวอย่างเช่น ทีม Nitro ให้การสนับสนุนเฟรมเวิร์ก Nuxt ยอดนิยม ซึ่งทีมนี้ได้สร้าง อะแดปเตอร์ Firebase เพื่อให้ติดตั้งใช้งานแอป Nuxt ใน App Hostingได้

หากต้องการให้เฟรมเวิร์กเพิ่มเติมรองรับโดย App Hosting คุณ สามารถสร้าง Framework Adapter หรือติดต่อผู้ดูแลเฟรมเวิร์กเพื่อ แปลงเอาต์พุตบิลด์เป็นรูปแบบ App Hosting อะแดปเตอร์ Next.js และ Angular เป็นตัวอย่างอ้างอิงที่ดีสำหรับผู้ที่สร้างอะแดปเตอร์

ดูข้อมูลเกี่ยวกับเฟรมเวิร์กที่ชุมชนให้การสนับสนุนได้ที่ Firebase Open Source ควรส่งปัญหาและคำขอฟีเจอร์สำหรับเฟรมเวิร์กที่ชุมชนให้การสนับสนุนไปยังชุมชนโอเพนซอร์สหรือผู้เขียนเฟรมเวิร์ก ในบางกรณี Google อาจให้ความช่วยเหลือได้ แต่ชุมชนจะเป็นผู้ให้การสนับสนุนอะแดปเตอร์เหล่านี้เป็นอันดับแรก

App Hosting Framework Adapter

ใน App Hosting เราให้การสนับสนุนทั้งเฟรมเวิร์กที่กำหนดค่าไว้ล่วงหน้าและเฟรมเวิร์กที่ชุมชนให้การสนับสนุน ผ่าน Framework Adapter App Hosting Framework Adapter มีบทบาทสำคัญ 2 อย่าง ได้แก่

  • วิเคราะห์ซอร์สโค้ดและไฟล์กำหนดค่าเฉพาะของเฟรมเวิร์ก (เช่น next.config.js) แล้วสร้าง App Bundle เอาต์พุตที่ โครงสร้างพื้นฐานอื่นๆ ของ App Hosting ประมวลผลได้
  • เรียกใช้คำสั่งบิลด์ของแอปเพื่อสร้างชิ้นงานแบบคงที่และสร้างแอปเวอร์ชันที่เพิ่มประสิทธิภาพแล้วสำหรับการใช้งานจริง

Framework Adapter จะสร้างแอป Node.js ด้วย npm run build ซึ่งทำงานได้ดีที่สุดกับสคริปต์บิลด์เริ่มต้นสำหรับแต่ละเฟรมเวิร์ก ได้แก่ next build สำหรับ Next.js และ ng build สำหรับ Angular App Hosting จะพยายามสร้างด้วยคำสั่งบิลด์ที่กำหนดเอง แต่ไม่สามารถรับประกันความสำเร็จได้อย่างแน่นอน คุณสามารถ ลบล้างสคริปต์บิลด์และเรียกใช้ ใน apphosting.yaml ได้

ซอร์สโค้ดสำหรับอะแดปเตอร์ Next.js และ Angular มีอยู่ใน firebase-framework-tools

รันไทม์สำหรับ App Hosting

หลังจากที่ App Hosting สร้างและเปิดตัวแล้ว แอป Node.js จะทำงานใน Cloud Run รีวิชัน ดังนั้น เวอร์ชันรันไทม์ของแอป ควรอยู่ในช่วงที่ Cloud Runรองรับ และช่วงของเฟรมเวิร์กเว็บที่คุณเลือก สำหรับการสนับสนุนที่กำหนดค่าไว้ล่วงหน้าสำหรับ Angular และ Next.js หมายความว่าระบบรองรับ Node.js เวอร์ชันต่อไปนี้

  • Next.js 13.5.x ขึ้นไป
  • Angular 18.2.x ขึ้นไป
  • Node.js 20 ขึ้นไป

App Hosting ไม่ได้ให้การสนับสนุนอย่างเต็มที่สำหรับเฟรมเวิร์กเวอร์ชันที่เพิ่งเปิดตัว ระบบจะพิจารณาว่าเวอร์ชันที่ใหม่กว่าเวอร์ชัน "ใช้งานอยู่" ที่กำหนดไว้ในปัจจุบันอยู่ในสถานะ "ตัวอย่าง" จนกว่าจะมีการทำเครื่องหมายอย่างเป็นทางการว่า "ใช้งานอยู่" สำหรับ App Hosting

App Hosting รองรับการสนับสนุนระยะยาว (LTS) สำหรับเวอร์ชันย่อยล่าสุดของ เวอร์ชันหลักเป็นเวลา 1 ปีนับจากระยะเวลาการสนับสนุนอย่างเต็มที่ โดยคุณต้อง อัปเดตเป็นเวอร์ชันแพตช์ล่าสุดภายในเวอร์ชันย่อยนั้นอย่างสม่ำเสมอ โปรดดูรายละเอียดสำหรับ Next.js และ Angular ในตารางต่อไปนี้

กำหนดเวลาการสนับสนุน Next.js

เวอร์ชัน สถานะ การเลิกใช้งาน
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
15.1.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
15.2.x ใช้งานอยู่ -

กำหนดเวลาการสนับสนุน Angular

เวอร์ชัน สถานะ การเลิกใช้งาน
18.2.x lts 2026-10-9
19.0.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
19.1.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
19.2.x ใช้งานอยู่ -

การอัปเดตอิมเมจพื้นฐานอัตโนมัติ (ABIU)

การอัปเดตอิมเมจพื้นฐานอัตโนมัติ (ABIU) เป็นฟีเจอร์ที่ใช้แพตช์ความปลอดภัยกับสภาพแวดล้อมรันไทม์พื้นฐานโดยอัตโนมัติโดยที่คุณไม่ต้องทริกเกอร์การเปิดตัวแอปใหม่

App Hosting จะเปิดใช้ ABIU สำหรับแบ็กเอนด์ใหม่โดยค่าเริ่มต้น โดยมี ข้อกำหนดเฉพาะดังนี้

  • รันไทม์ที่มีเวอร์ชัน: หากต้องการใช้ ABIU คุณต้องระบุรันไทม์ที่มีเวอร์ชัน (เช่น nodejs20, nodejs22, nodejs24) App Hosting รองรับ Node.js เวอร์ชันเลขคู่ ซึ่งเป็นไปตามการสนับสนุนของ Cloud Run's
  • การจับคู่ package.json: Node เวอร์ชันที่คุณเลือกสำหรับ App Hosting ต้องเข้ากันได้กับเวอร์ชันที่ระบุในช่อง engines ของไฟล์ package.json หากเวอร์ชันไม่ตรงกัน คุณจะพบข้อผิดพลาดในเวลาสร้าง จาก Cloud Build ทุกครั้งที่เปลี่ยนช่อง engines โปรดตรวจสอบว่าได้อัปเดตรันไทม์ของแบ็กเอนด์แล้วก่อนที่จะติดตั้งใช้งาน

การปิดใช้ ABIU

หากต้องการไม่ใช้ ABIU คุณสามารถปิดใช้ได้ในระหว่างการเริ่มต้นใช้งานหรือโดย เลือก "ไม่ได้ระบุ" สำหรับรันไทม์ใน Firebase คอนโซล เมื่อใช้ nodejs เวอร์ชันเริ่มต้นที่ไม่มีเวอร์ชัน ระบบจะปิดใช้ ABIU โดยอัตโนมัติ

การจัดการเวอร์ชันรันไทม์

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

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

  • รันไทม์ที่เลิกใช้งานแล้ว: หากรันไทม์ที่คุณเลือกเลิกใช้งานแล้ว โดยทั่วไปแอปพลิเคชันจะยังคงทำงานต่อไปได้ คุณจะได้รับคำเตือนในคอนโซล และควรย้ายไปใช้เวอร์ชันใหม่กว่าโดยเร็วที่สุด ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบ Cloud Run เกี่ยวกับวงจรการใช้งานรันไทม์
  • รันไทม์ที่เลิกให้บริการแล้ว: ระบบจะไม่รองรับรันไทม์ที่เลิกให้บริการแล้วโดยสมบูรณ์ คุณจะสร้างบิลด์หรือแบ็กเอนด์ใหม่โดยใช้เวอร์ชันที่เลิกให้บริการแล้วไม่ได้ และการพยายามทำเช่นนั้นจะทำให้เกิดข้อผิดพลาดในการสร้าง การติดตั้งใช้งานที่มีอยู่ซึ่งทำงานในเวอร์ชันที่เลิกให้บริการแล้วอาจ หยุดทำงาน และ Cloud Run ขอสงวนสิทธิ์ในการลบการติดตั้งใช้งานเหล่านั้น

ดูรายการ Node เวอร์ชันที่รองรับ เลิกใช้งานแล้ว และเลิกให้บริการแล้วทั้งหมดได้ที่ เอกสารประกอบการสนับสนุนรันไทม์Cloud Runของ Cloud Run ดูรายละเอียดทางเทคนิคเพิ่มเติมเกี่ยวกับวิธีการทำงานของการอัปเดตอิมเมจพื้นฐานได้ที่เอกสารประกอบ ABIU ของ Cloud Run

เครื่องมือจัดการแพ็กเกจ

App Hosting ใช้ Cloud Native Buildpacks เพื่อดำเนินการติดตั้งการขึ้นต่อกันและสร้างแอปโดยใช้ npm, yarn หรือ pnpm ไม่รองรับเครื่องมือจัดการแพ็กเกจอื่นๆ เช่น JSR

NPM

  • NPM เป็นเครื่องมือจัดการแพ็กเกจเริ่มต้น
  • ระบบจะตัดทรัพยากร Dependency ที่ไม่ใช่ Production ออกหลังจากบิลด์สำเร็จ
  • คุณระบุส่วนเวอร์ชัน npm ได้โดยใช้ช่อง engines.npm ในไฟล์ package.json

Yarn

  • ระบบจะใช้ Yarn แทนเมื่อคุณใส่ไฟล์ yarn.lock ไว้ในโปรเจ็กต์
  • คุณระบุเวอร์ชัน Yarn ที่จะใช้ได้ในช่อง engines.yarn หรือ packageManager ของไฟล์ package.json
  • App Hosting รองรับโหมด Yarn2 PnP

Pnpm

  • ระบบจะใช้ Pnpm แทนเมื่อคุณใส่ไฟล์ pnpm-lock.yaml ไว้ในโปรเจ็กต์
  • คุณระบุเวอร์ชัน pnpm ได้ในช่อง engines.pnpm หรือ packageManager ของไฟล์ package.json
  • ดูตัวอย่างการทำงานได้ที่ sample-node-pnpm app

Monorepo สำหรับ App Hosting

App Hosting รองรับแอปที่ใช้ Nx ดูคำแนะนำโดยละเอียดได้ที่ใช้ Monorepo กับ App Hosting

ระบบรองรับ Nx เวอร์ชันต่อไปนี้

เวอร์ชัน สถานะ การเลิกใช้งาน
19.5.x การซ่อมบำรุง 2025-10-9
19.6.x การซ่อมบำรุง 2025-10-9
19.7.x การซ่อมบำรุง 2025-10-9
19.8.x lts 2026-10-9
20.0.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
20.1.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
20.2.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
20.3.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
20.4.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
20.5.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
20.6.x ใช้งานอยู่ ไม่ก่อนวันที่ 2025-10-9
20.7.x ใช้งานอยู่

หากต้องการรับการสนับสนุนสำหรับพื้นที่ทำงาน Monorepo ประเภทอื่นๆ โปรดแจ้งให้เราทราบที่ Firebase UserVoice