일부 npm 패키지 ( 예 : vue )에는 pkg.module
package.json에 필드가 있습니다. "module"
공식 npm 속성 입니까 , 아니면 일종의 규칙입니까? 어딘가에 이것에 대한 문서가 있습니까? 그것은 무엇입니까? esnext 경로? 번들로 제공되지 않는 모듈 경로?
답변
"module"
공식 npm 속성 입니까 , 아니면 일종의 규칙입니까?
그것은 A의 제안 ,하지만 가능성 때문에 사실상의 사용에 지원 될 수 있습니다.
어딘가에 이것에 대한 문서가 있습니까?
실제로 여기 에서 찾을 수 있으며 나중에 여기에서 제거 할 수 있습니다 .
그것은 무엇입니까?
Node.js의 ES6 모듈 상호 운용성 추가 논의는 여기 와 여기 에서 찾을 수 있습니다 . 그리고 여기 에 그것에 대해 더 이야기하는 Rich Harris 의 블로그 포스트 가 있습니다.
답변
ESM (ECMAScript Module) 감지를위한 번 들러 도구에서 사용됩니다. 롤업 문서는 꽤 잘 말한다 :
귀하의 경우
package.json
파일도이module
필드를 같은 ES6 인식 도구 롤업 및 웹팩 2는 것이다 ES6 모듈 버전을 가져 직접.
Rollup 1.0에 대한이 기사 는 다른 방식으로 설명합니다.
이
main
필드는 사용하는 노드 사용자에게require
UMD 버전이 제공 되는지 확인합니다 . 이module
필드는 공식 npm 기능이 아니지만 라이브러리의 ESM 버전을 가져 오는 방법을 지정하는 번 들러 간의 공통 규칙입니다.
의 추가 논의는 pkg.module
온입니다 롤업 Github에서 위키 와 웹팩 문서 .