이것 저것
module.exports와 exports
taehyeki
2022. 4. 5. 09:47
const module = { exports: {} };
const exports = module.exports;
function require(path) {
... return module.exports; // require() 함수의 리턴값
}
전에 module.exports를 사용하면 하나밖에 안되고, exports를 사용하면 여러개가 된다고만 얼핏 알고 있었는데
사실 구조자체가 이러했던 것이다.
module.export = { }는 obj자체를 바꿔버리기때문이고.
exports.abc = 3 이런식으로 하면 exports obj안에 key,value를 집어 넣는 것이었다.
module.export는 하나의 큰 obj로 설정! (큰거 한개)
exports는 각각의 obj로 설정! (작은거 여러개)
commonJS는 위의 방식을 사용하여
es6에서는 export export default 를 사용하는 것 같다.
같은 방식으로 export { obj, func } 이런식으로 괄호로 내보내고
import할 때도 import { obj, func } from '~~~' 여기서 export한 이름과 import한 이름이 반드시 같아야함!!!
그렇지만 export default는 하나만 보낼 수 있고 import할 때 괄호도 필요없고 이름도 아무거나 정할 수 있다.