Угловой 7 |Сборка --aot не удается |Файлы объявлений Typescript .d.ts отсутствуют при компиляции - PullRequest
0 голосов
/ 21 ноября 2018

В настоящее время я пытаюсь создать приложение Angular 7 (недавно обновленное с версии 6).

Запуск ng build работает отлично , однако, либо ng serve --aot, ng build --aot илиng build --prod (который также включает aot) вызывает ошибку ниже.

Компилятору Typescript не удается найти мои собственные .d.ts все файлы, расположенные в src/app/types/.

Я попытался решить проблему, добавив путь к этим файлам в свойство include файла tsconfig.app.json, но это не сработало.

Обратите внимание, чтопроблема была такой же с Angular v6.

ERROR in ./src/app/types/data.d.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: /xxx/src/app/types/data.d.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
at AngularCompilerPlugin.getCompiledFile (/xxxx/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:767:23)
at plugin.done.then (/xxxx/node_modules/@ngtools/webpack/src/loader.js:41:31)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)

Вот файл tsconfig.json:

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

Вот файл tsconfig.app.json:

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

Можете ли вы помочь мне решить эту проблему?Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Я нашел решение своей проблемы: я проверил все операторы import файлов .d.ts везде в моем приложении.Один из них был неправильным (неправильный путь), который, похоже, не являлся проблемой без флага --aot.Может быть, это кому-нибудь поможет.

0 голосов
/ 22 ноября 2018

Измените ключ types на typeRoots в tsconfig.app.json, поскольку вы указываете папку вместо определенных файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...