Angular 8 - Lazy loading modules : Error TS1323: Dynamic import is only supported when '--module' flag is 'commonjs' or 'esNext'

前端 未结 7 1027
一个人的身影
一个人的身影 2020-12-04 15:09

When I updated Angular from 7 to Angular 8, getting error for lazy loading modules

I have tried the options, which are there in the angular upgradation guide

7条回答
  •  情书的邮戳
    2020-12-04 15:24

    You are using dynamic import so you have to change your tsconfig.json like this to target your code to esnext module

    {
      "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"
        ]
      }
    }
    

    Also make sure to check tsconfig.app.json dont have module and target config something like this

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

提交回复
热议问题