[]
        
(Showing Draft Content)

다양한 npm 모듈 형식

Wijmo npm 패키지는 언어 버전 (ES5 또는 ES2015)과 모듈 형식 (CommonJS 또는 ESM)의 조합인 다양한 형식으로 컨텐츠를 제공합니다. 설치된 패키지 폴더의 모든 형식은 package.json 파일의 특수 필드에서 참조되는 별도의 .js 파일로 표시됩니다. Webpack과 같은 최신 번들러는 번들러 구성에 따라 선호하는 형식의 패키지 파일을 사용할 수 있습니다.
이 기능이 없는 번들러는 package.json 의 기본(main) 필드를 사용하여 모듈 이름을 특정 .js 파일로 분석합니다. Wijmo 패키지에서 이는 가장 호환 가능한 ES5 + CommonJS 형식을 포함하는 index.js 파일입니다.

아래는 package.json 필드 목록과 패키지 폴더에서 나타내는 해당 파일 형식입니다.

  • main : ES5 + CommonJS (index.js)
  • module , esm5 , wj-esm5 : ES5 + ESM (es5-esm.js)
  • esm2015 , es2015 , wj-esm2015 : ES2015 + ESM (es2015-esm.js)
  • es2015Cjs , wj-es2015Cjs : ES2015 + CommonJS (es2015-commonjs.js)

기본적으로 Webpack은 module 필드를 사용하여 패키지 이름을 .js 파일로 확인하고 없는 경우, main 필드로 기본 설정 됩니다. 이것은 환경 설정을 지정할 수 있는 Webpack 구성의 resolve.mainFields 옵션을 사용하여 변경할 수 있습니다.
이 옵션에 대한 자세한 내용은 여기 웹팩 설명서를 참조하십시오 .

필드 이름은 모든 모듈 형식에 대해 표준화되어 있지 않기 때문에, 널리 사용되는 프레임 워크 (주로 Angular)에서 찾을 수 있는 대체 이름을 제공합니다.
그중에서 이름은 wj-로 시작하는 Wijmo 특정 필드를 제공합니다. 이러한 이름을 가진 필드는 다른 패키지에서 사용되지 않는 것으로 가정하므로, Wijmo 패키지를 위해 특별히 선호하는 모듈 형식을 정의 할 수 있으며 non-Wijmo 패키지에는 다른 필드 이름을 사용할 수 있습니다. 예를 들어, webpack.config.js 파일의 이 설정은 Webpack이 ES2015 + ESM 형식 의 Wijmo 패키지를 포함하도록하고 Wijmo 패키지에만 영향을 미칩니다.

resolve: {
    mainFields: ['wj-esm2015', 'module', 'main'],
    ...
},