> 웹 프론트엔드 > JS 튜토리얼 > nodejs 모듈에 대한 간단한 이해(예제 포함)

nodejs 모듈에 대한 간단한 이해(예제 포함)

不言
풀어 주다: 2019-03-29 09:19:54
앞으로
2269명이 탐색했습니다.

이 기사는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿