Skip to main content

로컬 라이브러리 설정

로컬 라이브러리는 앱 내부에 위치하지만 레지스트리에 공개되지 않은 뷰나 모듈을 포함하는 라이브러리다. 기존의 뷰와 모듈 설정과 달리, 로컬 라이브러리는 앱의 네이티브 코드와 분리되어 있다.

로컬 라이브러리는 android/ios/ 폴더 외부에 생성되며, 앱과 통합하기 위해 자동 연결(autolinking)을 사용한다. 로컬 라이브러리를 포함한 구조는 다음과 같다:

plaintext
MyApp
├── node_modules
├── modules <-- 로컬 라이브러리를 위한 폴더
│ └── awesome-module <-- 로컬 라이브러리
├── android
├── ios
├── src
├── index.js
└── package.json

로컬 라이브러리의 코드가 android/ios/ 폴더 외부에 존재하기 때문에, 향후 React Native 버전 업그레이드나 다른 프로젝트로 복사하는 작업이 더 쉬워진다.

로컬 라이브러리를 생성하려면 create-react-native-library 도구를 사용한다. 이 도구는 필요한 모든 템플릿을 포함하고 있다.

시작하기

React Native 애플리케이션의 루트 폴더 안에서 다음 커맨드를 실행한다:

shell
npx create-react-native-library@latest awesome-module

여기서 awesome-module은 새 모듈의 이름으로 원하는 대로 지정할 수 있다. 프롬프트를 따라 진행한 후, 프로젝트 루트 디렉토리에 modules라는 새 폴더가 생성된다. 이 폴더 안에는 새 모듈이 포함되어 있다.

링크 설정

기본적으로 생성된 라이브러리는 Yarn을 사용할 때는 link: 프로토콜로, npm을 사용할 때는 file: 프로토콜로 프로젝트에 자동으로 연결된다.

json
"dependencies": {
"awesome-module": "file:./modules/awesome-module"
}

이 설정은 node_modules 아래에 라이브러리에 대한 심볼릭 링크를 생성하여 자동 연결이 작동하도록 한다.

의존성 설치

모듈을 연결하려면 필요한 의존성을 설치해야 한다:

shell
npm install

앱 내부에서 모듈 사용하기

앱에서 모듈을 사용하려면 모듈 이름으로 가져오면 된다:

js
import {multiply} from 'awesome-module';