Firebase App Hosting ออกแบบมาโดยเฉพาะเพื่อรองรับการพัฒนาเว็บแอปสมัยใหม่ที่เน้นเฟรมเวิร์ก ใช้หน้านี้เป็นข้อมูลอ้างอิงสำหรับเครื่องมือและเฟรมเวิร์กที่ App Hosting รองรับโดยตรง รวมถึงเป็นจุดเริ่มต้นในการเรียนรู้เกี่ยวกับเฟรมเวิร์กและเครื่องมือที่เกี่ยวข้อง
เฟรมเวิร์กเว็บและ App Hosting
App Hosting มีการสนับสนุน 2 ระดับกว้างๆ สำหรับเฟรมเวิร์กเว็บสมัยใหม่ ดังนี้ การสนับสนุนการบิลด์และการติดตั้งใช้งานที่กำหนดค่าไว้ล่วงหน้า และการสนับสนุนระดับชุมชนผ่าน การมีส่วนร่วมในโอเพนซอร์สที่เป็นไปตามข้อกำหนดของแพ็กเกจเอาต์พุต ในทั้ง 2 กรณี คอมโพเนนต์อแดปเตอร์เฟรมเวิร์กจะช่วยให้ผสานรวมเฟรมเวิร์กที่เฉพาะเจาะจงกับ 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 Hosting ตัวอย่างเช่น เฟรมเวิร์ก Nuxt ยอดนิยมได้รับการสนับสนุนจากทีม Nitro ซึ่งเป็นผู้สร้างอะแดปเตอร์ Firebase เพื่อเปิดใช้การติดตั้งใช้งานแอป Nuxt ใน App Hosting
หากต้องการดูเฟรมเวิร์กเพิ่มเติมที่ App Hosting รองรับ คุณสามารถสร้างอแดปเตอร์เฟรมเวิร์ก หรือติดต่อผู้ดูแลเฟรมเวิร์กเพื่อแปลงเอาต์พุตการสร้างเป็นรูปแบบ App Hosting อแดปเตอร์ Next.js และ Angular เป็นตัวอย่างอ้างอิงที่ดีสำหรับผู้ที่สร้างอแดปเตอร์
ดูข้อมูลเกี่ยวกับเฟรมเวิร์กที่ชุมชนรองรับได้ที่ Firebase โอเพนซอร์ส ปัญหาและคำขอฟีเจอร์สำหรับเฟรมเวิร์กที่ชุมชนสนับสนุน ควรส่งไปยังชุมชนโอเพนซอร์สหรือผู้เขียนเฟรมเวิร์ก ในบางกรณี Google อาจให้ความช่วยเหลือได้ แต่ชุมชนจะเป็นผู้ให้การสนับสนุนอันดับแรกสำหรับอะแดปเตอร์เหล่านี้
App Hosting อะแดปเตอร์เฟรมเวิร์ก
ใน App Hosting เราให้การสนับสนุนทั้งเฟรมเวิร์กที่กำหนดค่าไว้ล่วงหน้าและเฟรมเวิร์กที่ชุมชนสนับสนุน ผ่านอแดปเตอร์เฟรมเวิร์ก App Hostingเฟรมเวิร์ก อแดปเตอร์มีบทบาทสำคัญ 2 อย่าง ได้แก่
- โดยจะแยกวิเคราะห์ซอร์สโค้ดและไฟล์กำหนดค่าเฉพาะเฟรมเวิร์ก (เช่น
next.config.js
) และสร้างชุดเอาต์พุตที่โครงสร้างพื้นฐานApp Hostingที่เหลือสามารถประมวลผลได้ - โดยจะเรียกใช้คำสั่งบิลด์ของแอปเพื่อสร้างชิ้นงานแบบคงที่และสร้าง แอปเวอร์ชันที่เพิ่มประสิทธิภาพแล้วสำหรับการใช้งานจริง
อแดปเตอร์เฟรมเวิร์กจะสร้างแอป 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 18 ขึ้นไป
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 | ใช้งานอยู่ | not before 2025-10-9 |
15.1.x | ใช้งานอยู่ | not before 2025-10-9 |
15.2.x | ใช้งานอยู่ | - |
กำหนดเวลาการสนับสนุน Angular
เวอร์ชัน | สถานะ | การเลิกใช้งาน |
---|---|---|
18.2.x | lts | 2026-10-9 |
19.0.x | ใช้งานอยู่ | not before 2025-10-9 |
19.1.x | ใช้งานอยู่ | not before 2025-10-9 |
19.2.x | ใช้งานอยู่ | - |
เครื่องมือจัดการแพ็กเกจ
App Hosting ใช้ Cloud Native Buildpacks เพื่อดำเนินการ ติดตั้งการอ้างอิงและสร้างแอปโดยใช้ npm, yarn หรือ pnpm ระบบไม่รองรับตัวจัดการแพ็กเกจอื่นๆ เช่น JSR
NPM
- NPM เป็นเครื่องมือจัดการแพ็กเกจเริ่มต้น
- ระบบจะตัดการพึ่งพาที่ไม่ใช่เวอร์ชันที่ใช้งานจริงออกหลังจากบิลด์สำเร็จ
- คุณระบุส่วนเวอร์ชัน npm ได้โดยใช้ฟิลด์
engines.npm
ในไฟล์package.json
ไหมพรม
- ระบบจะใช้ Yarn แทนเมื่อคุณรวมไฟล์
yarn.lock
ไว้ในโปรเจ็กต์ - คุณสามารถระบุเวอร์ชัน Yarn ที่จะใช้ในฟิลด์
engines.yarn
หรือpackageManager
ของไฟล์package.json
ได้ - App Hosting รองรับโหมด PnP ของ Yarn2
Pnpm
- ระบบจะใช้ Pnpm แทนเมื่อคุณรวมไฟล์
pnpm-lock.yaml
ไว้ในโปรเจ็กต์ - คุณระบุเวอร์ชันของ pnpm ได้ในฟิลด์
engines.pnpm
หรือpackageManager
ของไฟล์package.json
- ดูตัวอย่างที่ใช้งานได้ที่ sample-node-pnpm Flood It!
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 | ใช้งานอยู่ | not before 2025-10-9 |
20.1.x | ใช้งานอยู่ | not before 2025-10-9 |
20.2.x | ใช้งานอยู่ | not before 2025-10-9 |
20.3.x | ใช้งานอยู่ | not before 2025-10-9 |
20.4.x | ใช้งานอยู่ | not before 2025-10-9 |
20.5.x | ใช้งานอยู่ | not before 2025-10-9 |
20.6.x | ใช้งานอยู่ | not before 2025-10-9 |
20.7.x | ใช้งานอยู่ | — |
หากต้องการรับการสนับสนุนสำหรับพื้นที่ทำงานแบบ Monorepo ประเภทอื่นๆ โปรดแจ้งให้เราทราบที่ Firebase UserVoice