tsconfig и пути в проекте angular - PullRequest
1 голос
/ 16 апреля 2020

Я создал Angular приложение. Я пытаюсь настроить tsconfig и создать ярлык для моих интерфейсов. Я отредактировал tsconfig.app. json, добавил baseUrl и пути:

"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/app",
"types": [],
"baseUrl": "./src",
"paths": {
  "@models/*": ["./app/modules/models/*"]
}

... но я все еще получаю сообщение об ошибке:

ERROR in src/app/modules/atoms/small-table/small-table.component.ts:3:25 - error TS2307: Cannot find 
module '@models'.

3 import { IIncome } from '@models' 

структура файла: enter image description here

Кто-нибудь знает, почему это не работает? Как это исправить?

Ответы [ 3 ]

1 голос
/ 16 апреля 2020

экспорт индекса не очень хорошо поддерживается машинописью. просто сделайте ваш импорт следующим образом:

import { IIncome } from '@models/index' 
0 голосов
/ 16 апреля 2020

Добрый день!

Первая проблема, согласно вашему фрагменту кода, может заключаться в том, что ваши tsconfig.json и tsconfig.app.json помещены в одну папку. Но согласно исходной структуре папок ng - tsconfig.app.json помещается в папку sr c, tsconfig.json - помещается в root. Пожалуйста, обратите внимание и проверьте это.

Во-вторых, если вы используете бочечные файлы, вам нужно добавить дополнительное отображение пути.

Вот пример того, как это должно выглядеть:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": [],
    "paths": {
      "@models": [
        "app/modules/models/index"
      ],
      "@models/*": [
        "app/modules/models/*"
      ],
    }
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

0 голосов
/ 16 апреля 2020

Почему у вас "extends": "./tsconfig.json"?

Скорее всего, это должно быть с ../ примерно так: "extends": "../tsconfig.json", если только у вас нет двух файлов tsconfig рядом друг с другом, что необычно. Когда приложение генерируется через ng new, у вас должно быть 1 tsconfig на уровне root и 2 внутри папки sr c: tsconfig.json, src/tsconfig.app.json и src/tsconfig.spec.json

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