Firebase App Hosting ออกแบบมาเพื่อรองรับการพัฒนาเว็บแอปสมัยใหม่โดยเน้นเฟรมเวิร์กโดยเฉพาะ ใช้หน้านี้เป็นข้อมูลอ้างอิงเกี่ยวกับเครื่องมือและเฟรมเวิร์กที่ App Hosting รองรับโดยตรง รวมถึงเป็นจุดเริ่มต้นในการดูข้อมูลเกี่ยวกับเฟรมเวิร์กและเครื่องมือที่เกี่ยวข้อง
เฟรมเวิร์กเว็บและ App Hosting
App Hosting ให้การรองรับแบบกว้าง 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 รองรับเฟรมเวิร์กของตน ตัวอย่างเช่น ทีม Nitro รองรับเฟรมเวิร์ก Nuxt ที่ได้รับความนิยม ซึ่งได้สร้างอะแดปเตอร์ Firebase เพื่อเปิดใช้การปรับใช้งานแอป Nuxt ใน App Hosting
หากต้องการดูเฟรมเวิร์กเพิ่มเติมที่ App Hosting รองรับ คุณสามารถสร้างอะแดปเตอร์เฟรมเวิร์ก หรือติดต่อผู้ดูแลเฟรมเวิร์กเพื่อแปลงเอาต์พุตของบิลด์เป็นรูปแบบ App Hosting ตัวแปลง Next.js และ Angular เป็นตัวอย่างอ้างอิงที่ดีสำหรับผู้ที่สร้างตัวแปลง
ดูข้อมูลเกี่ยวกับเฟรมเวิร์กที่ชุมชนรองรับได้ใน Firebase Open Source ปัญหาและคำขอฟีเจอร์สำหรับเฟรมเวิร์กที่ได้รับการสนับสนุนจากชุมชนควรส่งไปยังชุมชนโอเพนซอร์สหรือผู้เขียนเฟรมเวิร์ก ในบางกรณี 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 | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
15.1.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
15.2.x | ใช้งานอยู่ | - |
กำหนดการของทีมสนับสนุน Angular
เวอร์ชัน | สถานะ | การเลิกใช้งาน |
---|---|---|
18.2.x | lts | 2026-10-9 |
19.0.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
19.1.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
19.2.x | ใช้งานอยู่ | - |
เครื่องมือจัดการแพ็กเกจ
App Hosting ใช้ Cloud Native แพ็กเกจสร้างเพื่อดำเนินการติดตั้งแพ็กเกจที่ต้องพึ่งพาและสร้างแอปโดยใช้ 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 | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
20.1.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
20.2.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
20.3.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
20.4.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
20.5.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
20.6.x | ใช้งานอยู่ | ไม่เกินวันที่ 9-10-2025 |
20.7.x | ใช้งานอยู่ | — |
หากต้องการการสนับสนุนสำหรับเวิร์กスペース Monorepo ประเภทอื่นๆ โปรดแจ้งให้เราทราบที่ Firebase UserVoice