해결된 질문
작성
·
228
1
선생님 안녕하세요. 좋은강의 정말로 감사드립니다.
리팩토링 강의에서 라우터들을 Index.js로 통합시켜줄 때
module.exports = {
...require("./userRouter"),
...require("./blogRouter"),
...require("./commentRouter"),
};
이렇게 전개연산자(...)를 작성해주셨는데요. 이유가 뭘까요? 이렇게 안하고 그냥
module.exports = {
require("./userRouter"),
require("./blogRouter"),
require("./commentRouter"),
};
이렇게 해주려고 하니 에러가 발생하더라구요. 이유가 뭘까요??
답변 1
1
안녕하세요~
a, b 파일이 각각 다음과 같이 export를 해준다고 가정을 해볼게요
const a = require("a") -> { foo, bar }
const b = require("b") -> { a, b, c }
전개 연산자를 해야 module.exports = { foo, bar, a, b, c } 이렇게 하나의 객체에 담깁니다
"..." 없이 하게 되면 module.exports = { { foo, bar }, { a, b, c} } 이렇게 되는건데 이건 문법적으로 불가능하죠. key가 빠졌으니깐요
이렇게 key를 추가해서 할 수는 있어요 module.exports = { a, b } -> 그러면 이런 형태로 됩니다: { a: { foo, bar }, b: { a, b, c } }
아하, 이해했습니다. 쉽고 친절한 설명 너무 감사합니다~~~