728x90
반응형
질문 : module.exports 대 Node.js의 내보내기
Node.js 모듈에서 다음 계약을 찾았습니다.
module.exports = exports = nano = function database_module(cfg) {...}
module.exports
와 exports
의 차이점과 둘 다 여기에서 사용되는 이유가 궁금합니다.
답변
설정 module.exports
수 있습니다 database_module
때 함수는 함수처럼 호출 할 required
. exports
설정하는 것만으로 module.exports
참조를 내보내기 때문에 함수를 내보낼 수 없습니다. 다음 코드는 사용자가 함수를 호출하는 것을 허용하지 않습니다.
다음은 작동하지 않습니다.
exports = nano = function database_module(cfg) {return;}
module.exports
가 설정된 경우 다음이 작동합니다.
module.exports = exports = nano = function database_module(cfg) {return;}
콘솔
var func = require('./module.js');
// the following line will **work** with module.exports
func();
기본적으로 node.js exports
객체를 내 보내지 않지만 내보내기가 원래 참조하는 속성을 exports
Node.js 는 object module.exports
참조를 내보내지만 함수처럼 호출 할 수 있습니다.
exports
가 이전에 내 보낸 개체를 참조하지 않도록 module.exports
및 exports
를 모두 설정합니다. 둘 다 설정하면 exports
를 속기로 사용하고 추후에 잠재적 인 버그를 피할 수 있습니다.
exports.prop = true
대신 module.exports.prop = true
하면 문자를 절약하고 혼동을 피할 수 있습니다.
출처 : https://stackoverflow.com/questions/7137397/module-exports-vs-exports-in-node-js
728x90
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
JavaScript 변수를 설정 해제하는 방법 (0) | 2021.10.15 |
---|---|
PHP로 JSON 보기 좋게 출력하는 방법 (0) | 2021.10.15 |
AngularJS 템플릿의 if else 문 (0) | 2021.10.14 |
JavaScript에서 정확히 두 개의 소수로 숫자 서식 지정 (0) | 2021.10.14 |
backbone.js의 목적 (0) | 2021.10.13 |