programing

Angular 8-지연로드 모듈 : 오류 TS1323 : '--module'플래그가 'commonjs'또는 'esNext'인 경우에만 동적 가져 오기가 지원됩니다.

projobs 2021. 1. 14. 07:59
반응형

Angular 8-지연로드 모듈 : 오류 TS1323 : '--module'플래그가 'commonjs'또는 'esNext'인 경우에만 동적 가져 오기가 지원됩니다.


Angular를 7에서 Angular 8로 업데이트 할 때 지연로드 모듈에 대한 오류가 발생합니다.

각도 업그레이드 가이드에있는 옵션을 시도했습니다.

다음과 같이 변경했습니다.

전에

    loadChildren: '../feature/path/sample- 
                         tage.module#SameTagModule'

   loadChildren: () => import('../feature/path/sample- 
                      tags.module').then(m => m.CreateLinksModule)

오류 TS1323 : 동적 가져 오기는 '--module'플래그가 'commonjs'또는 'esNext'인 경우에만 지원됩니다.


동적 가져 오기를 사용하고 있으므로 코드를 esnext모듈 로 대상으로 지정하려면 tsconfig.json을 이와 같이 변경해야 합니다.

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "esnext", // add this line
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

또한 tsconfig.app.json에 다음과 같은 모듈 및 대상 구성이 없는지 확인하십시오.

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "./out-tsc/app",
    "types": []
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "src/test.ts",
    "src/**/*.spec.ts"
  ]
}

@Tony의 anwser에 추가하기 만하면 tsconfig.app.json에서 동일한 작업 ( "module": "esnext"로 변경)을 수행해야 할 수도 있습니다. 제 경우에는 tsconfig.json이 이미 esnext를 모듈로 사용하고 있었지만 tsconfig.app.json은 여전히 ​​es2015를 사용하고 있었기 때문에이 오류가 발생했습니다.

참조 URL : https://stackoverflow.com/questions/56375703/angular-8-lazy-loading-modules-error-ts1323-dynamic-import-is-only-supporte

반응형