Обновление Angular 8 до Angular 9 Ошибка: .ts отсутствует в компиляции TypeScript

Недавно я обновил приложение 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.

При создании приложения я получаю следующую ошибку:

ОШИБКА в ./src/app/models/companySearchCriteria.ts Сборка модуля завершилась неудачно (из ./node_modules/@ngtools/webpack/src/index.js): Ошибка: D: _lieben \ DevOps \ Gtrack Web v3 \ GTrack.UI \ Gtrack \ src \ app \ models \ companySearchCriteria.ts отсутствует в компиляции TypeScript. Убедитесь, что он находится в вашем tsconfig через свойство 'files' или 'include'. в 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 v. UI \ Gtrack \ node_modules @ ngtools \ webpack \ src \ loader.js: 41: 31 в processTicksAndRejection (внутренний / процесс / 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"
  ]
}

Я не совсем понимаю, почему это происходит. Любая помощь будет оценена по достоинству.


person monstertjie_za    schedule 20.05.2020    source источник
comment
Есть такая же проблема. Все ленивые модули возвращают сообщение, упомянутое OP (в моем случае предупреждение, а не ошибка).   -  person ppotera    schedule 22.05.2020
comment
ты пришел правильно? Мне удалось разобраться со своей проблемой   -  person monstertjie_za    schedule 22.05.2020
comment
К сожалению нет. Я только что создал свою ветку, чтобы не загромождать вашу. - ›stackoverflow.com/questions/61951542/   -  person ppotera    schedule 22.05.2020


Ответы (2)


В моем случае по какой-то причине имя файла в операторах импорта было изменено.

Например, допустим, у меня есть следующий файл .ts: companySearchModel.ts

export class CompanySearchModel {
    //some properties
}

Оператор импорта в другом файле, где используется companySearchModel, выглядел так:

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

Когда это должно было выглядеть так:

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

Не уверен, почему это произошло, но после изменения имени файла в операторе импорта, чтобы отразить настоящее имя файла (нижний регистр), это сработало.

person monstertjie_za    schedule 22.05.2020

В моем случае я только закрываю компилятор и начинаю заново.

Проблема решена.

Надеюсь, что это работает

person Juan Lamberti    schedule 13.11.2020