[Node.js] exports์ module.exports
exports๋ถํฐ ๋ณด๊ฒ ๋ค.
exports๋ ๋ชจ๋์ ๊ด๋ฆฌํ๋ ์ ์ญ ๊ฐ์ฒด๋ค.
node.js์์ ๋ชจ๋์ ๋ถ๋ฆฌํ๊ณ ํฌํจ์ํค๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
require๋ก ๋ญ๊ฐ ์ธ๋ถ ์์๋ฅผ ๋๊ฒจ์ค๋ ๊ฒ์ ๋ณด์์ ๊ฒ์ด๋ค.
์ด require๋ก ๋ก๊ฒจ์ค๋๊ฒ ๋ฐ๋ก exports์ ์ํด์ ์๋ํ๋ค.
"boom"์ ์ฝ์์ ์ถ๋ ฅํ๋ ๊ฐ๋จํ ํจ์ boom์ ๋ชจ๋๋ก ๋ถ๋ฆฌํด๋ณด๋๋ก ํ๊ฒ ๋ค.
์ด๋ฐ์์ผ๋ก ์ถ๊ฐํ ์ ์๋ค.
์ด์ ์ด๊ฑธ ๋ค๋ฅธ ์์ค์ธ index.js์์ ๋ก๊ฒจ์จ๋ณด๊ฒ ๋ค.
์ด๋ ๊ฒ ํ๋ฉด ๋๋ค.
์ ๊ธฐ์ require๋ ๋์ผ ๋๋ ํฐ๋ฆฌ์ ์๋ boom์ด๋ผ๋ js ํ์ผ์ ์ฝ์ด๋ค์ฌ์ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
๊ทธ๋ฆฌ๊ณ boom.boom() ์์์๋ ๋ฐฉ๊ธ exports๋ก ์ถ๊ฐํ๋ boom์ ํธ์ถํ๋ ๊ฒ์ด๋ค.
๋๋ ค๋ณด๋ฉด
์ ๋๋๊ฑธ ๋ณผ ์ ์๋ค.
module.exports๋ก ๋ถ๋ฆฌํ๋ ๋ฐฉ์๋ ์๋ค.
์๊น์ ๋ค๋ฅด๊ฒ ๋ชจ๋ ์ ์ฅ์ฉ ์ค๋ธ์ ํธ๋ฅผ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์ ๋ฉค๋ฒ๋ฅผ ์ถ๊ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ํด๋น ๋ชจ๋ ์ค๋ธ์ ํธ๋ฅผ module.exports์ ๋์
ํ๋ค.
๋ฉ์ธ ์์ค์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋์ผํ๋ค.
์ฌํผ ๋๋ฆฌ๋ฉด
๋๊ฐ์ด ์ ๋๋ค.
๋๋ค ๋น์ทํ๊ฒ ์ฌ์ฉ๋ ์ ์๊ธด ํ์ง๋ง, ๋์ฒด๋ก module.exports์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋๋ค.