การใช้ monorepos จะช่วยจัดระเบียบและจัดการหลายโปรเจ็กต์ได้ในครั้งเดียว ไดเรกทอรี คู่มือนี้จะอธิบายวิธีเริ่มทำให้แอปที่ใช้ Nx ใช้งานได้ด้วย โฮสติ้งแอป
ทำให้ monorepos ใช้งานได้ด้วย Firebase CLI
การรองรับ Monorepo มีอยู่ในขั้นตอนการตั้งค่าแบ็กเอนด์ที่ Firebase เรียกใช้
คำสั่ง CLI apphosting:backends:create
หลังจากคุณป้อนขั้นตอนนี้และระบุ
ที่เก็บ GitHub ที่คุณเลือก ระบบจะแจ้งให้คุณระบุรูทของแอป
ไดเรกทอรีที่เกี่ยวข้องกับที่เก็บของคุณ ที่พรอมต์นี้ ให้ส่งเส้นทางไปยัง
ที่คุณต้องการติดตั้งใช้งานภายใน monorepo
$ firebase apphosting:backends:create --project [project-name] --location us-central1
i === Import a GitHub repository
✔ Connected with GitHub successfully
? Which GitHub repo do you want to deploy? gh-username/nx-monorepo
? Specify your app's root directory relative to your repository path/to/app
ตัวอย่างเช่น ต่อไปนี้เป็นชิ้นงานที่จะติดตั้งใช้งาน โดยมีการระบุ Nx โครงสร้างโครงการและ "แอปเป้าหมาย" เป็นแอปพลิเคชันที่คุณต้องการสร้างและ ทำให้ใช้งานได้:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
ไดเรกทอรีรากของแอปที่สัมพันธ์กับที่เก็บของคุณคือ apps/target-app
ทำให้ monorepos ใช้งานได้ด้วยคอนโซล Firebase
การสนับสนุน Monorepo มีอยู่ในขั้นตอนการตั้งค่าแบ็กเอนด์แบบกราฟิกใน Firebase คอนโซลผู้ดูแลระบบ เมื่อมีข้อความแจ้งให้ระบุ "ไดเรกทอรีราก" ในส่วน "การตั้งค่าการทำให้ใช้งานได้" ระบุเส้นทางไปยังแอปพลิเคชันที่คุณต้องการทำให้ใช้งานได้ภายใน Monorepo ดังนี้
การแก้ปัญหาการติดตั้งใช้งาน Monorepo
- ถ้าคุณออกจาก "ไดเรกทอรีราก" ฟิลด์ว่างเปล่าระหว่างการตั้งค่าแบ็กเอนด์, แอป
โฮสติ้งอาจยังสร้างและติดตั้งใช้งานโปรเจ็กต์เป้าหมายของผู้ใช้ได้ในกรณีต่อไปนี้
มีการระบุไว้ใน
defaultProject
ของ nx.json ที่เกี่ยวข้อง การกำหนดค่า - หากคุณไม่ระบุทั้ง "ไดเรกทอรีราก" ฟิลด์หรือ
defaultProject
บิลด์ดังกล่าวจะล้มเหลวและแสดงข้อความว่า App Hosting ไม่พบโปรเจ็กต์ที่จะกำหนดเป้าหมายภายใน Nx monorepo - สำหรับแอปพลิเคชัน Nx + Angular คุณต้องใช้แอปพลิเคชัน Angular
เพื่อสร้างแอปพลิเคชัน
ระบุเครื่องมือสร้างแอปพลิเคชัน Angular ใน
project.json