[Node.js] 외장 모듈 사용하기

외장 모듈 써보기 - nconf

다른 사람이 만들어 둔 모듈을 외장 모듈이라고 한다. 이 외장 모듈을 통해 앞에서 해결하지 못했던 OS 환경 변수 접근 문제를 해결할 수 있다. 시스템 환경 변수에 접근할 수 있는 모듈의 이름은 nconf이며, 설정과 관련된 유용한 기능뿐만 아니라 시스템 환경 변수를 접근하는 기능도 포함하고 있다.

이제 nconf 모듈을 사용해서 환경 변수를 콘솔에 출력해보자.

var nconf = require('nconf');
nconf.env();
console.log('OS 환경변수 값: %s', nconf.get('OS'));
cs

Error: Cannot find module 'nconf' 에러가 출력됐다. 

cmd(명령 프롬프트)를 켜고 다음 명령어를 입력한다.

npm init -y
npm i nconf
cs

기본적으로 package.json을 생성해줄 수 있는 npm init -y 명령 후 nconf 모듈을 설치한다. (install을 i로 줄일 수 있다)

이제 브라켓으로 돌아가서 실행하면 OS 환경 변수에는 Windows_NT가 출력될 것이다.

npm 패키지

다른 사람이 만들어 둔 모듈은 어디에 있을까? 어딘가에 모듈 파일을 올려놓았을 것이다. npm 패키지를 이용하면 다른 사람이 만들어 놓은 패키지를 다운로드하여 설치할 수 있다.

먼저 npm은 Node Package Manager의 약자로 노드의 패키지를 사용할 수 있도록 설치, 삭제 등을 지원하는 프로그램이다. 패키지는 만든 모듈에 몇 가지 정보를 더 넣은 것이라고 할 수 있으며, 패키지를 만든 후 다른 사람이 사용할 수 있도록 공유한다. npm 프로그램은 이렇게 인터넷에 올려 공유하는 노드 패키지를 다운로드하여 설치할 수 있도록 도와준다.

그러면 위에서 npm으로 설치한 패키지는 어디에 설치되었을까. npm으로 설치한 외부 패키지는 프로젝트 폴더 내에 [node_modules] 폴더에 설치된다. 그 폴더 안에는 [nconf] 폴더가 있을 것이다.

그렇다면 프로젝트별로 패키지 설치가 가능하다고 이해할 수 있다. 그런데 새로운 프로젝트를 만들 때마다 npm으로 외부 패키지를 설치해야 할까? 그렇진 않다. 만약 모든 프로젝트에 적용하고 싶다면 그 상위 폴더에 [node_modules] 폴더를 위치시키면 된다. 또는 패키지를 설치할 때부터 상위 폴더에 설치하면 된다.

메인 파일이 실행될 때는 먼저 현재 폴더에 [node_modules] 폴더가 있는지 확인하고 없다면 상위 폴더를 검색한다. 그래도 찾지 못하면 상위 폴더를 순차적으로 검색한다.

package.json

다른 프로젝트를 실행하려 할 때 설치할 외부 패키지가 많다면 package.json 안에 설치한 패키지들의 정보를 넣어 둘 수 있다.

cmd를 켜고 다음 명령을 입력한다.

npm init
cs

질문이 나오면 name: 질문에 node를 입력하고 나머지는 Enter키만 누른다. 이제 프로젝트 폴더 안에 package.json 파일이 만들어진다. package.json 파일 안에는 프로젝트에 대한 기본 정보가 들어있다.

이제 명령 프롬프트로 nconf 모듈을 삭제한 후 다시 설치해보자. 다시 설치할 때는 npm 명령어에 --save 옵션을 추가한다.

npm uninstall nconf
npm install nconf --save
cs

이제 package.json 파일을 열어 보면 마지막 부분에 "dependencies" 속성이 추가된 것을 볼 수 있다. 이렇게 설치한 패키지의 정보가 모두 들어간 package.json 파일이 만들어졌다. 이 프로젝트에서 사용한 모듈을 다른 PC에서 그대로 사용하고 싶다면 package.json 파일만 PC로 옮긴 후 다음 명령을 입력하면 그 안의 모든 패키지가 한꺼번에 설치된다.

npm i
cs

이 명령은 package.json 파일을 찾은 후 그 안에 있는 dependencies 속성의 값을 참조하여 패키지를 설치한다.

댓글 없음:

Powered by Blogger.