React Native

React Native에서 node 내장 라이브러리 사용하기 (rn-nodeify)

citron031 2023. 3. 11. 14:14

노드에는 기본적으로 crypto, path, url, assert 등의 라이브러리가 내장으로 제공된다.

리액트에서도 이를 사용하기 위해서 웹팩 설정을 변경하는 등의 추가적인 설정이 필요했는데, 리액트 네이티브에서도 그렇다.

이를 간단하게 설정할 수 있게 해주는 라이브러리가 있는데, rn-nodeify이다.

이번엔 rn-nodeify의 사용법에 대해서 기록하고자 한다.

npm i rn-nodeify

설치가 끝나면, package.json의 script에 postinstall을 작성한다.

"postinstall": "rn-nodeify --install fs,crypto,url,assert --hack"

위의 명령어를 통해서 자동으로 기입된 라이브러리를 설치할 수 있다.

위에서는 crypto, url, assert만 사용했지만, 원하는 라이브러리를 적어 추가할 수 있다.

postinstall 명령어는 npm i 이후 자동으로 실행되지만, npm run postinstall을 통해 실행할 수도 있다.

 

명령어를 실행하고 나면, shim.js 파일이 생성되는데 이를 프로젝트 최상단 index.js에서 불러옴으로써, 이제 설치한 라이브러리를 사용할 수 있다.

 

// index.js

import './shim.js'
import crypto from 'crypto'

 

 

👻 2024.08.20

자주 사용되는 node 내장 기능들은 다음과 같다.

여러번 설치 후 에러를 보기보단, 한 번에 설치해두자.

"postinstall": "rn-nodeify --install fs,process,buffer,util,events,path,stream --hack"

 

 

rn-nodeify로 설치된 라이브러리의 alias는 metro.config.js에서 다음과 같이 설정을 해주면 된다.

const path = require('path');

module.exports = {
  resolver: {
    extraNodeModules: {
      fs: path.resolve(__dirname, 'node_modules/react-native-level-fs'),
    },
  },
};

 

 

https://www.npmjs.com/package/rn-nodeify

 

rn-nodeify

Run after npm install and you can use node core modules and npm modules that use them in your React Native app.. Latest version: 10.3.0, last published: 2 years ago. Start using rn-nodeify in your project by running `npm i rn-nodeify`. There are 11 other p

www.npmjs.com