将Angular 8升级到Angular 9时出现错误:TypeScript编译中缺少.ts文件。

4

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

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

唯一需要手动更改的包是 ngx-store,我使用以下命令进行更改为ngx-store-9

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

我随后更改了所有ngx-store的导入语句为ngx-store-9
现在在构建我的应用程序时,我遇到了以下错误:

ERROR in ./src/app/models/companySearchCriteria.ts Module build failed (from ./node_modules/@ngtools/webpack/src/index.js): Error: D:_lieben\DevOps\Gtrack Web v3\GTrack.UI\Gtrack\src\app\models\companySearchCriteria.ts未包含在TypeScript编译中。请确保通过“files”或“include”属性将其包含在您的tsconfig中。 at AngularCompilerPlugin.getCompiledFile (D:_lieben\DevOps\Gtrack Web v3\GTrack.UI\Gtrack\node_modules@ngtools\webpack\src\angular_compiler_plugin.js:933:23) at D:_lieben\DevOps\Gtrack Web v3\GTrack.UI\Gtrack\node_modules@ngtools\webpack\src\loader.js:41:31 at 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"
  ]
}

我不太确定为什么会发生这种情况。感激任何帮助。

遇到了同样的问题。所有懒加载模块都返回OP提到的消息(在我的情况下是警告,而不是错误)。 - ppotera
你解决了吗?我成功解决了我的问题。 - monstertjie_za
很不幸,没有。我刚刚创建了自己的线程以免混淆你的线程。-> https://stackoverflow.com/questions/61951542/lazy-loaded-modules-warnings-after-updating-angular-from-8-to-9 - ppotera
2个回答

4
在我的情况下,由于某些原因,导入语句中的文件名是大写的。
例如,假设我有以下 .ts 文件:companySearchModel.ts
export class CompanySearchModel {
    //some properties
}

在另一个文件中使用 companySearchModel 的导入语句如下:
import { CompanySearchModel } from './models/CompanySearchModel.ts'

当应该长成这个样子时,如下所示:
import { CompanySearchModel } from './models/companySearchModel.ts'

不确定为什么会发生这种情况,但在导入语句中更改文件名以反映文件的实际名称(小写)后,它可以正常工作。


0

在我的情况下,我只关闭了编译器并重新启动。

问题已经解决。

希望它能够正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接