React Native

Monorepo와 코드 공유

Yarn workspaces, nx, shared packages, React Native Web, 코드 재사용 전략

18 면접 질문·
Senior
1

React Native 개발에서 monorepo란 무엇입니까?

답변

monorepo는 여러 프로젝트나 패키지를 하나의 Git 저장소에 저장하는 아키텍처입니다. React Native 맥락에서는 모바일 앱, 웹 앱(React Native Web), 유틸리티 패키지 간에 코드를 공유할 수 있게 해줍니다. 장점으로는 중앙화된 의존성 관리, 원자적 리팩토링, 플랫폼 간 코드 일관성이 있습니다.

2

React Native monorepo에서 Yarn workspaces의 주요 역할은 무엇입니까?

답변

Yarn workspaces를 사용하면 루트에 hoisting된 단일 node_modules로 하나의 저장소에서 여러 패키지를 관리할 수 있습니다. 이는 의존성 중복을 줄이고 로컬 패키지 간 자동 심링크를 가능하게 하며 전역 스크립트를 용이하게 합니다. React Native monorepo에서는 공유 패키지를 모바일 및 웹 애플리케이션 모두에 자동으로 연결할 수 있습니다.

3

React Native를 위해 Yarn workspaces로 기본 monorepo를 어떻게 구성합니까?

답변

기본 구성에는 패키지 패턴을 정의하는 workspaces 필드가 포함된 루트 package.json이 필요합니다. 일반적으로 애플리케이션에는 packages/* 또는 apps/*를, 공유 라이브러리에는 packages/*를 사용합니다. 루트 패키지의 실수로 인한 게시를 방지하려면 private 필드를 true로 설정해야 합니다. Metro bundler도 심링크를 올바르게 해석하기 위한 구성이 필요합니다.

4

React Native monorepo에서 의존성 hoisting은 어떤 문제를 일으킬 수 있습니까?

5

Nx란 무엇이며 Yarn workspaces 단독에 비해 어떤 주요 이점을 제공합니까?

+15 면접 질문

다음 면접을 위해 React Native을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기