프로그래밍 언어/HTML,CSS,JS

module.exports vs Node.js exports

Rateye 2021. 10. 15. 10:42
728x90
반응형
질문 : module.exports 대 Node.js의 내보내기

Node.js 모듈에서 다음 계약을 찾았습니다.

module.exports = exports = nano = function database_module(cfg) {...}

module.exportsexports 의 차이점과 둘 다 여기에서 사용되는 이유가 궁금합니다.

답변

설정 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.exportsexports 를 모두 설정합니다. 둘 다 설정하면 exports 를 속기로 사용하고 추후에 잠재적 인 버그를 피할 수 있습니다.

exports.prop = true 대신 module.exports.prop = true 하면 문자를 절약하고 혼동을 피할 수 있습니다.

출처 : https://stackoverflow.com/questions/7137397/module-exports-vs-exports-in-node-js
728x90
반응형