[javascript] “module”package.json 필드는 무엇입니까?

일부 npm 패키지 ( : vue )에는 pkg.modulepackage.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필드는 사용하는 노드 사용자에게 requireUMD 버전이 제공 되는지 확인합니다 . 이 module필드는 공식 npm 기능이 아니지만 라이브러리의 ESM 버전을 가져 오는 방법을 지정하는 번 들러 간의 공통 규칙입니다.

의 추가 논의는 pkg.module온입니다 롤업 Github에서 위키웹팩 문서 .


답변