Monorepo และการแชร์โค้ด
Yarn workspaces, nx, shared packages, React Native Web, กลยุทธ์การนำโค้ดกลับมาใช้ใหม่
1Monorepo คืออะไรในบริบทของการพัฒนา React Native?
Monorepo คืออะไรในบริบทของการพัฒนา React Native?
คำตอบ
Monorepo คือสถาปัตยกรรมที่จัดเก็บหลายโปรเจกต์หรือหลาย package ไว้ในที่เก็บ Git เดียว ในบริบทของ React Native สิ่งนี้ช่วยให้แชร์โค้ดระหว่างแอปมือถือ แอปเว็บ (React Native Web) และ package เครื่องมือต่าง ๆ ได้ ประโยชน์รวมถึงการจัดการ dependency แบบรวมศูนย์ การ refactoring แบบ atomic และความสอดคล้องของโค้ดข้ามแพลตฟอร์ม
2บทบาทหลักของ Yarn workspaces ใน monorepo ของ React Native คืออะไร?
บทบาทหลักของ Yarn workspaces ใน monorepo ของ React Native คืออะไร?
คำตอบ
Yarn workspaces ช่วยให้จัดการหลาย package ในที่เก็บเดียวด้วย node_modules ที่ถูก hoist ไว้ที่ root เพียงตัวเดียว สิ่งนี้ช่วยลดการซ้ำซ้อนของ dependency เปิดให้มีการทำ symlink อัตโนมัติระหว่าง package ภายใน และอำนวยความสะดวกแก่สคริปต์ระดับ global ใน monorepo ของ React Native สิ่งนี้ช่วยให้เชื่อม package ที่ใช้ร่วมกันเข้ากับทั้งแอปมือถือและแอปเว็บได้โดยอัตโนมัติ
3จะกำหนดค่า monorepo พื้นฐานด้วย Yarn workspaces สำหรับ React Native ได้อย่างไร?
จะกำหนดค่า monorepo พื้นฐานด้วย Yarn workspaces สำหรับ React Native ได้อย่างไร?
คำตอบ
การกำหนดค่าพื้นฐานต้องมี package.json ที่ root พร้อมฟิลด์ workspaces ที่กำหนดรูปแบบของ package โดยทั่วไปจะใช้ packages/* หรือ apps/* สำหรับแอปพลิเคชัน และ packages/* สำหรับไลบรารีที่ใช้ร่วมกัน ฟิลด์ private ต้องตั้งค่าเป็น true เพื่อป้องกันการเผยแพร่ package root โดยไม่ตั้งใจ Metro bundler ก็ต้องมีการกำหนดค่าเพื่อแก้ไข symlink อย่างถูกต้องด้วย
การ hoist dependency อาจก่อให้เกิดปัญหาอะไรใน monorepo ของ React Native?
Nx คืออะไรและมีข้อได้เปรียบหลักอะไรเมื่อเทียบกับการใช้ Yarn workspaces เพียงอย่างเดียว?
+15 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ React Native อื่นๆ
พื้นฐาน JavaScript
พื้นฐาน React
พื้นฐาน React Native
React Hooks
TypeScript สำหรับ React และ React Native
คอมโพเนนต์และ API ของ React Native
การจัดสไตล์และเลย์เอาต์ใน React Native
การนำทางใน React Native
การจัดการ State ใน React Native
Networking และ API ใน React Native
การคงอยู่ของข้อมูล
ฟอร์มและการตรวจสอบความถูกต้อง
แอนิเมชัน React Native
Native Modules & Bridge
โค้ดเฉพาะแพลตฟอร์ม
สิทธิ์และ Device API
Push Notifications
การทดสอบ React Native
การ Debug React Native
Build & Deployment
Expo vs React Native Bare
การเพิ่มประสิทธิภาพ
การจัดการหน่วยความจำ
Architecture Patterns
React Native New Architecture
แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย
Offline-First Architecture
CI/CD React Native
หัวข้อขั้นสูง
วงจรชีวิตแอปและการทำงานเบื้องหลัง
การยืนยันตัวตนและการจัดการเซสชัน
Monitoring & Crash Reporting
เชี่ยวชาญ React Native สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี