이 기사는 nodejs 모듈에 대한 간단한 이해를 제공합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
이 짧은 기사는 nodejs 모듈(즉, CommonJS 사양)을 빠르게 이해하는 데 사용됩니다.
Essence
module.exports는 값을 노출하는 데 사용됩니다. 이 값은 기본적으로 개체이며 원래 값으로 덮어쓸 수도 있습니다.
파일에 모듈 값을 직접 기록하려고 하면 다음을 얻을 수 있습니다.
{ id: '.', exports: {}, // 默认空对象 parent: null, filename: '/Users/a10.12/webpack-learning/src/module.js', loaded: false, children: [], paths: [ '...' ] }
모듈의 내보내기 속성을 수정하여 출력해야 하는 내용을 출력해야 하며, require는 모듈을 가져오는 데 사용됩니다. module.exports는 무엇이며, require는 당신이 얻는 것입니다.
사용
예를 들어 module.js
module.exports = { s: 2, }
index.js에
let v = require('./module.js') console.log(v) // 输出为 { s: 2 }
를 도입하면 원래 값
module.exports = 2 let v = require('./module.js') console.log(v) // 输出为 2
도 마찬가지입니다. module.exports는 기본적으로 객체이기 때문입니다. 객체를 내보낼 때 자연스럽게 이렇게 됩니다. 또 다른 작성 방법:
module.exports.s = 2
이런 식으로 require도 { s: 2 }를 얻습니다.
Abbreviation
아마도 상사들이 module.exports가 쓰기에는 너무 길다고 느꼈기 때문에 내보내기를 module.exports로 참조했기 때문에 두 가지가 같은지 확인할 때 true가 반환됩니다.
console.log(exports === module.exports) // true
이렇게 하면 feature를 사용하면 객체를 내보낼 때 다음과 같이 작성하는 것이 매우 편리합니다.
exports.s = 2 let v = require('./module.js') console.log(v) // 输出为 2
하지만 다음과 같이 작성할 수는 없습니다.
// 这样 exports = 2 // 或这样 exports = { s: 2, } // 都是不可以的 let v = require('./module.js') console.log(v) // 输出为 {}
이유는 위에서 언급한 바와 같습니다. 내보내기는 원래 module.exports에 대한 참조일 뿐이므로 이를 참조하여 사용할 수 있습니다. object 속성을 추가하지만, 위의 두 가지 방법으로 module.exports에 대한 내보내기 참조를 덮어쓰면 내보내기가 유효하지 않게 됩니다.
마지막 알림, 위에서 말한 내용을 이해하지 못한다면 ECMAScript 참조 값과 원래 값에 대한 이해를 심화해야 할 수도 있습니다...
이 기사는 여기서 끝났습니다. 더 많은 흥미로운 내용을 보려면 여기를 클릭하세요. PHP 중국어를 따라갈 수 있습니다. 인터넷의 node.js 튜토리얼 비디오 칼럼! ! !
위 내용은 nodejs 모듈에 대한 간단한 이해(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!