1. 기초
모듈은 쉽게 말해서 부품과 같다. Node.js에서는 다양한 모듈이 존재하고 우리는 이러한 외부 모듈들을 가져다 쓸 수 있다. 바로 전 강의에서 사용한 예제에서도 'http' 모듈을 로드해서 http 상수에 할당해서 사용하였다.
const http = require('http')
이때 const는 상수를 뜻하는데, 한 번 할당이 되면 이후에 할당된 값을 바꿀 수 없는 것을 의미한다.
http 모듈에 대한 자세한 정보는 공식 docs에서 확인할 수 있다.
https://nodejs.org/dist/latest-v16.x/docs/api/
2. NPM 소개
NPM : Node Package Manager
- Http, Os ... : Node.js가 제공하는 모듈 > Node.js 에서만 사용 가능
- Array, String, Date ... : Javascript가 제공하는 모듈 > Javascript가 동작하는 어떠한 시스템에서도 사용 가능
프로젝트를 진행할 때는 타인의 모듈을 사용하는 것이 중요하다. 그리고 타인의 모듈을 사용하는 방법 중 하나가 바로 Node 계의 앱스토어(...) 라고 할 수 있는 NPM 이다.
NPM은 모듈의 설치, 삭제, 업그레이드, 의존성 관리 등등의 역할을 수행한다.
3. NPM 독립적인 앱 설치
위 홈페이지에 들어가서 npm package를 다운받아보자. package는 모듈과 독립적으로 실행가능한 소프트웨어를 모두 아우르는 명칭이다.
먼저 후자에 해당하는 실습을 진행해보자. uglify-js 라는 패키지를 검색해서 설치방법을 따라하면 된다.
install uglify-js -g
여기서 -g 는 global 이라는 뜻인데, 이 태그를 이용하면 설치하는 머신 전역에서 사용하는 독립적인 소프트웨어(stand-alone)로 사용이 가능하다.
uglify-js 는 코드를 일부로 못생기게 만들어주는데 즉, 가독성을 높이기위한 줄바꿈이나 띄어쓰기 같은 공백을 모두 없애주어 데이터를 줄여주는 역할을 한다. 예를들어 pretty.js 라는 다음과 같은 코드가 있다고 하자.
function hello(name){
console.log('Hi', name);
}
hello('Orpheus');
해당 코드를 uglify-js를 이용하는 방법은 다음과 같다.
> uglifyjs pretty.js
function hello(name){console.log("Hi",name)}hello("Orpheus");
> uglifyjs pretty.js -m
function hello(l){console.log("Hi",l)}hello("Orpheus");
> uglifyjs pretty.js -o pretty.min.js -m
-m 옵션을 붙이면, 지역변수처럼 이름이 바뀌어도 상관없는 변수를 제일 작은 문자로 바꿔준다.
-o 옵션을 이용하면 uglifyjs를 이용해서 바뀐 코드를 저장할 수 있다.
4. NPM 으로 모듈 설치
- underscore 설치 실습
현재 실습을 진행하고있는 코드의 디렉토리에 설치해야 하기 때문에 npm에서 현재 디렉토리를 패키지로 지정하는 명령을 먼저 실행해야 한다.
npm init
해당 명령을 실행하면 package.json 파일이 생성된다.
그다음, npm install을 사용해 underscore를 설치한다.
npm install underscore --save
그러면 패키지 안에 node_modules 라는 디렉토리 > underscore 디렉토리 > underscore 모듈이 위치하고 있다.
강의에서는 그냥 옵션 없이 설치할 경우와 --save 옵션을 이용해서 설치하는 경우를 나눠서 설명하고 있는데, 버전이 바뀌어서 그런지 --save를 사용하지 않았는데도, package.json 안의 dependencies 에 undersocre가 추가되어 있었다. 그리고 package-lock.json 이라는 파일이 새로 생성되었는데 이에 대한 설명은 다음 블로그를 참고한다.
https://junwoo45.github.io/2019-10-02-package-lock/
아무튼 package.json의 dependencies에 underscore가 추가되어 있다면, 다른 디렉토리에서 프로젝트를 실행해도 underscore를 자신의 프로젝트에 포함시킬 수 있다.
5. 모듈 사용법
underscore 는 배열을 처리하는 편리한 기능을 제공해준다. 사용 예제는 다음과 같다.
const _ = require('underscore');
var arr = [3, 6, 9, 1, 12];
console.log(arr[0]);
console.log(_.first(arr)); // 배열의 첫 번째 원소 출력
console.log(arr[arr.length-1]);
console.log(_.last(arr)); // 배열의 마지막 원소 출력
정리
stand-alone : -g 옵션 이용
module : --save
package로 만들기 위해서는 : npm init
'스터디📖 > Node.js' 카테고리의 다른 글
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 5. Express (0) | 2022.02.02 |
---|---|
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 4. 동기와 비동기 (0) | 2022.02.02 |
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 3. 콜백 (Callback) (0) | 2022.02.01 |
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 1. 간단한 웹앱 만들기 (0) | 2022.01.29 |
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 0. 설치 및 오리엔테이션 (0) | 2022.01.29 |