Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

moment.js가 webpack으로 로케일을 로드하는 것을 방지하는 방법은 무엇입니까?

<시간/>

로컬 파일은 테마 템플릿 파일에 사용된 텍스트 문자열에 대한 번역 세트가 포함된 .json 파일입니다. 모든 언어에 대해 별도의 로컬 파일이 사용됩니다.

코드에 moment.js가 필요하고 webpack으로 패키징하면 모든 로케일 파일을 포함하기 때문에 번들 크기가 커집니다.

IgnorePlugin을 사용하여 모든 로케일 파일을 제거할 수 있습니다. 예를 들어,

예시

const webpack = require('webpack');
module.exports = {
   plugins: [
      // Ignore all locale files of moment.js
      new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
   ],
};
// load specific locales in your code.
const moment = require('moment');
require('moment/locale/ja');
moment.locale('ja');

번들링할 때 webpack은 ja에 대한 로케일 파일만 사용합니다. 이렇게 하면 번들 크기가 크게 줄어듭니다.