programing

"모듈" 패키지란 무엇입니까?json 필드는 무엇을 위해?

magicmemo 2023. 7. 25. 20:51
반응형

"모듈" 패키지란 무엇입니까?json 필드는 무엇을 위해?

일부 npm 패키지(: vue)에 다음이 있는 것을 보았습니다.module그들의 패키지에 있는 필드.json.

그러나 그것은 패키지에 포함되어 있지 않습니다.json 문서 - 이것은 일종의 관례입니까?이것에 대한 문서가 어딘가에 있습니까?

업데이트: 2022년 4월

module필드는 Node.js에 의해 공식적으로 정의되지 않았으며 지원도 계획되지 않았습니다.대신, Node.js 커뮤니티는 패키지 수출을 결정했고, 패키지 수출은 더 다양하다고 생각합니다.

실질적인 이유로 자바스크립트 번들러는 계속해서 다음을 지원할 것입니다.module필드. esbuild 문서는 사용 시기를 설명합니다.module관련 분야뿐만 아니라main그리고.browser.

원답

아이즈"module"공식적인 npm 부동산인가요 아니면 이것은 일종의 관습인가요?

제안이지만 사실상의 사용으로 인해 지원될 가능성이 높습니다.

이것에 대한 문서가 어딘가에 있습니까?

사실, 바로 여기에서 발견될 수 있고 나중에 여기서 제거될 수 있습니다.

뭣 때문에?

노드의 ES6 모듈 상호 운용성.추가적인 논의는 여기와 여기에서 확인할 수 있습니다.그리고 여기 리치 해리스의 블로그 게시물이 있습니다. 그것에 대해 더 많이 이야기하고 있습니다.

이는 ESM(ECM스크립트 모듈) 탐지를 위한 번들러 도구에서 사용됩니다.롤업 문서에 따르면 다음과 같습니다.

만약 당신이package.json파일에도 다음이 있습니다.module필드에서 롤업 및 웹 2와 같은 ES6 인식 도구는 ES6 모듈 버전을 직접 가져옵니다.

롤업 1.0에 대한기사는 다음과 같은 다른 방식으로 설명합니다.

main필드는 노드 사용자가 다음을 사용하는지 확인합니다.requireUMD 버전이 제공될 것입니다.module필드는 공식적인 npm 기능이 아니라 우리 라이브러리의 ESM 버전을 가져오는 방법을 지정하는 번들러들 사이의 일반적인 협약입니다.

에 대한 추가 논의pkg.module롤업 Github Wiki 및 웹 팩 Docs에 있습니다.

언급URL : https://stackoverflow.com/questions/42708484/what-is-the-module-package-json-field-for

반응형