강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của jaehyeonlim
jaehyeonlim

câu hỏi đã được viết

Từ những điều cơ bản về mongoDB đến công việc thực tế (feat. Node.js)

Refactoring

리팩토링 강의에서 라우터 리팩토링 전개연산자(...)

Đã giải quyết

Viết

·

311

1

선생님 안녕하세요. 좋은강의 정말로 감사드립니다.

리팩토링 강의에서 라우터들을 Index.js로 통합시켜줄 때

module.exports = {
  ...require("./userRouter"),
  ...require("./blogRouter"),
  ...require("./commentRouter"),
};

이렇게 전개연산자(...)를 작성해주셨는데요. 이유가 뭘까요? 이렇게 안하고 그냥

module.exports = {
  require("./userRouter"),
  require("./blogRouter"),
  require("./commentRouter"),
};

이렇게 해주려고 하니 에러가 발생하더라구요. 이유가 뭘까요??

javascriptnode.jsawsmongodbrest-apidbms/rdbms데이터-엔지니어링

Câu trả lời 1

1

sihoon님의 프로필 이미지
sihoon
Người chia sẻ kiến thức

안녕하세요~

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 } }

jaehyeonlim님의 프로필 이미지
jaehyeonlim
Người đặt câu hỏi

아하, 이해했습니다. 쉽고 친절한 설명 너무 감사합니다~~~

Hình ảnh hồ sơ của jaehyeonlim
jaehyeonlim

câu hỏi đã được viết

Đặt câu hỏi