Почему я не могу разрешить модуль, если я пытаюсь импортировать тип Enum? - PullRequest
0 голосов
/ 18 марта 2020

У меня есть проект машинописного текста

мой tsconfig. json похож на:

{
 "compilerOptions": {
 ...
 "typeRoots": [
  "./node_modules/@types",
  "./src/@types"
 ],
 ...
},

, поскольку в "./src/@types" я определяю свои файлы определений для пользовательских типов настройте как

-tsconfig.json
-src
|_@types
  |_app-types
    |_index.d.ts

содержимое index.d.ts

до того, как я это сделал, и все работало нормально:

declare module 'app-types' {
 export interface commonFilter {
    "filterReference": 'include' | 'exclude' | null,
    ...
 }
 ...
}

после того, как я попробовал это улучшение (но потом получил объяснение ниже):

declare module 'app-types' {
 export const enum FilterReferenceType {
    include = 'include',
    exclude = 'exclude'
 }

 export interface commonFilter {
    "filterReference": FilterReferenceType | null,
    ...
 }
 ...
}

в моем файле App.ts:

перед импортом {commonFilter} из "app-types";

 public static commonFilterBannerValid(matchFilters: commonFilter){
  ...
  const isIncludeMode: boolean = matchFilters.filterReference === 'include';

после импорта {commonFilter, FilterReferenceType} из "app-types";

 public static commonFilterBannerValid(matchFilters: commonFilter){
  ...
  const isIncludeMode: boolean = matchFilters.filterReference === FilterReferenceType['include'];

Но с этим последним я получаю ошибку вроде:

 ERROR in ./src/App.ts
Module not found: Error: Can't resolve 'app-types' in ....

Кажется, что при попытке экспорта импортировать enum type сломает ... полное разрешение модуля?

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