У меня есть проект машинописного текста
мой 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 сломает ... полное разрешение модуля?