
Index.js 파일Backend/Node.js2024. 12. 15. 00:26
Table of Contents
728x90
반응형
- Index.js 파일
Node.js를 만든 개발자는 index.js 파일을 만든 것을 후회한다고 하였다.
이 index.js 파일이 module의 로딩 시스템을 굉장히 복잡하게 만든다는 얘기다.
지금까지 했던 프로젝트의 리팩토링을 통하여 어떻게 module 시스템을 복잡하게 만드는지 살펴보겠다.
lib 폴더를 하나 생성하고, 내부에 index.js 파일과 request.js, response.js 파일을 넣어준다.
만약, 기능별로 나눠둔 module 파일이 많아진다면 그때 index.js 파일을 사용할 수 있다.
폴더 안에 각 module을 담은 파일이 너무 많을 경우, index.js에서 처리한다.
방법은 여러 가지가 있다.
1.
// index.js
module.exports = {
request : require("./request.js"),
response : require("./response.js")
};
// https.js
const lib = require("./lib");
function makeRequest(url, data) {
lib.request.send(url, data);
return lib.response.read();
}
2.
// index.js
const request = require("./request.js");
const response = require("./response.js");
module.exports = {
send: request.send,
read: response.read
};
// https.js
const lib = require("./lib");
function makeRequest(url, data) {
lib.send(url, data);
return lib.read();
}
// 다른 파일에서 module을 가져다 사용할 때, lib.send(); 이런 식으로 사용 가능하다.
// 함수(module)를 하나씩 export 해주는 것은 귀찮은 일이기 때문에 좋은 방식은 아니다.
3.
// index.js
module.exports = {
...require("./request.js"),
...require("./response.js")
};
이 방식은
spread 연산자를 사용한다.
하지만 이런 방식이 module 시스템을 굉장히 복잡하게 한다.
사실 가장 좋은 방법은 index.js 파일을 생성하지 않고 다른 파일에서 module을 직접 불러다 사용하는 것이다.
728x90
반응형
'Backend > Node.js' 카테고리의 다른 글
Node.js로 웹 서버 만들기 (1) | 2024.12.15 |
---|---|
Node.js package 관리 (0) | 2024.12.15 |
Module 캐싱 (0) | 2024.12.14 |
CommonJS와 ECMAScript module의 차이 (0) | 2024.12.14 |
module 생성하기 (0) | 2024.12.14 |
@min' :: 개발을 하자
github : https://github.com/dnjfht
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!