将Angular 8升级到Angular 9错误:TypeScript编译中缺少.ts

时间:2020-05-20 10:31:25

标签: angular typescript angular-cli angular8 angular9

我最近使用以下命令将Angular 8应用程序升级到Angular 9:

ng update @angular/core@8 @angular/cli@8
ng update @angular/core @angular/cli

唯一需要手动更改的软件包是ngx-storengx-store-9,这是我使用以下命令完成的:

npm uninstall ngx-store
npm install ngx-store-9

然后我继续将ngx-store的所有导入语句更改为ngx-store-9

我现在在构建应用程序时收到以下错误:

./src/app/models/companySearchCriteria.ts中的

错误 模块构建失败(来自./node_modules/@ngtools/webpack/src/index.js): 错误:TypeScript编译中缺少D:_lieben \ DevOps \ Gtrack Web v3 \ GTrack.UI \ Gtrack \ src \ app \ models \ companySearchCriteria.ts。请通过“文件”或“包含”属性确保它在您的tsconfig中。 在AngularCompilerPlugin.getCompiledFile(D:_lieben \ DevOps \ Gtrack Web v3 \ GTrack.UI \ Gtrack \ node_modules @ ngtools \ webpack \ src \ angular_compiler_plugin.js:933:23) 在D:_lieben \ DevOps \ Gtrack Web v3 \ GTrack.UI \ Gtrack \ node_modules @ ngtools \ webpack \ src \ loader.js:41:31 在processTicksAndRejections(internal / process / task_queues.js:93:5)

下面是我的tsconfig.app.json文件:

      "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": []
  },
  "files": [
    "main.ts",
    "polyfills.ts"
  ],
  "include": [
    "src/**/*.d.ts"
  ]
}

我不太确定为什么会这样。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

就我而言,由于某种原因,导入语句中的文件名被大写了。

例如,假设我有以下.ts文件:companySearchModel.ts

export class CompanySearchModel {
    //some properties
}

使用companySearchModel的另一个文件中的import语句看起来像这样:

import { CompanySearchModel } from './models/CompanySearchModel.ts'

看起来应该像这样:

import { CompanySearchModel } from './models/companySearchModel.ts'

不确定为什么会发生这种情况,但是在import语句中更改了文件名以反映文件的真实名称(小写)后,它起作用了。

答案 1 :(得分:0)

就我而言,我只关闭编译器并重新启动。

问题已解决。

希望它能起作用