모듈 사용하기

문태주·2022년 7월 21일
0
post-thumbnail

| 모듈이란?

본격적으로 노드를 공부하기 전에 먼저 모듈에 대해 알아봅시다.
모듈을 한마디로 정의하자면 파일입니다. 더 정확히 이야기하자면 여러분이 작업중이 파일에서 특정한 기능을 수행하기 위해 불러오는 파일이죠.
예를 들어 여러분은 파이썬에서 math, turtle과 같은 모듈들을 import 했던 것입니다.

| 모듈의 종류

NodeJS에서 모듈의 종류는 크게 3가지로 나뉩니다.

1. NodeJs가 기본적으로 주는 모듈
nodeJs가 기본적으로 내장하고 있는 모듈들을 의미합니다. 파이썬을 따지면 pip install하지 않고, javascript로 따지면 npm install하지 않고도 import 할 수 있는 모듈들이죠.

2. Third Party 모듈
영어가 나왔다고 어려운 내용이 아닙니다. 그냥 우리가 따로 설치해서 사용해야 되는 외부 모듈을 가리킵니다. 파이썬으로 따지면 pip install해서 사용해야 하는, javascript로 따지면 npm install해야 사용할 수 있는 모듈들을 의미하죠.

3. 사용자 정의 모듈
여러분이 export하고 import하는 파일들을 가리킵니다. 여러분의 폴더에 저장되어 있는 다른 파일들이죠.

NodeJs에서는 위 3가지 모듈을 모두 같은 방식으로 import 할 수 있습니다. 모듈의 구분은 NodeJs가 알아서 해줍니다.

| 모듈 사용하기

1 import

NodeJs에서는 고전적인 모듈 import 방법을 사용합니다. require를 사용하죠. 옆에 주석으로 걸어둔 부분이 우리가 익히 하는 보통의 모듈 사용 방법이죠.
사실 NodeJs에서도 주석 친 구문을 활용할 수 있습니다.
package.json의 "type":"module"을 써주시면 됩니다. 하지만 예전의 버전과 호환 문제로 잘 사용하지는 않습니다.

2 export

다음과 같이 wantToExport와 sum이라는 함수를 export했습니다.

wantToExport와 sum이 존재하는 wannaexport라는 파일을 import했습니다. require()의 괄호 안의 내용은 wannaexport라는 파일의 경로입니다.

{
	wantToExport:wantToExport,
    sum:sum,
}

다음과 같은 파일로 불러온 거기 때문에 위와 같이 . 으로 접근이 가능한 것입니다.

그렇기에 Object Destructing을 사용해서 아래와 같이도 표현이 가능합니다.

const {wantToExport, sum} = require("./wannaexport")

Object Destructing에 익숙하지 않다면 그냥 이런 식으로 함수(또는 클래스든 변수든)들을 import한다고 이해하시면 되겠습니다.

profile
HTML 개발자

0개의 댓글