programing

Angular 10 업그레이드 - 공통 수정JS 또는 AMD 종속성으로 인해 최적화 구제 조치가 발생할 수 있음

stoneblock 2023. 6. 13. 21:56

Angular 10 업그레이드 - 공통 수정JS 또는 AMD 종속성으로 인해 최적화 구제 조치가 발생할 수 있음

Angular 9 앱을 Angular 10 버전으로 업그레이드하려고 하는데 업그레이드 후 경고가 표시됩니다.

WARNING in calendar.reducer.ts depends on lodash/keys. CommonJS or AMD dependencies can cause optimization bailouts.

아래 줄을 추가했습니다.angular.json파일이지만 문제가 해결되지 않았습니다.

"allowedCommonJsDependencies": ["lodash"]

위의 문제를 어떻게 해결할 수 있습니까?

npm 패키지lodash자체가 ECMA스크립트 모듈이 아니므로 경고가 생성됩니다.이 문제를 해결하는 방법은 여러 가지가 있습니다.

ES 모듈화 라이브러리로 교체(권장)

일부 라이브러리는 ES 모듈화된 빌드를 제공합니다.의 경우lodash당신은 그것을 lodash-es로 대체할 수 있습니다.

달려.npm install --save lodash-es.

이제 모든 가져오기를 바꿉니다.lodash와 함께lodash-es.

ES 가져오기 문을 사용하여 라이브러리를 가져오십시오.

import { keys } from 'lodash-es';

화이트리스트 공용JS 의존성

라이브러리에 사용할 수 있는 ES 변조 빌드가 없거나 어떤 이유로든 상관하지 않는 경우 특정 공용을 허용할 수 있습니다.의 JS 종속성angular.json파일:

"architect": {
  "build": {
    "builder": "@angular-devkit/build-angular:browser",
    "options": {
      "allowedCommonJsDependencies": ["lodash"]
    }
  }
}

Angular CLI Version 10.0.1 이후에는 에서 글로브를 사용할 수 있습니다.allowedCommonJsDependencies이것은 만약 당신이 합격한다면lodash하위 항목(예:lodash/keys)도 허용됩니다.

문서 참조: https://angular.io/guide/build#configuring-commonjs-dependencies

언급URL : https://stackoverflow.com/questions/62589229/angular-10-upgrade-fix-commonjs-or-amd-dependencies-can-cause-optimization-bai