angular - VS Code fixa importväg(ar) för bibliotek
Jag har skapat ett enkelt Angular-bibliotek (som är paketerat och publicerat till företagets interna npm-repository). Här i mitt bibliotek har jag också exporterat modeller som används inom bibliotekets komponenter såsom följande:
export class AdsToolbarMenuItem {
iconName: string;
label: string;
enabled: boolean = true;
menuAction: () => void;
constructor(init?: Partial<AdsToolbarMenuItem>) {
Object.assign(this, init);
}
}
Då, för att exportera dem, har jag inkluderat dem i index.ts enligt följande:
export * from './lib/angular-components.module';
export * from './lib/models/AdsToolbarMenuItem';
export * from './lib/models/AdsToolbarMainActionItem';
export * from './lib/models/ContactBox';
nu är problemet att, när jag vill använda någon av modellerna i ett vanligt projekt (där jag har installerat detta paket), så föreslår Visual Studio Code två olika importvägar för modellen som syns på bilden:
Problemet är att om jag väljer det andra alternativet (det längre), misslyckas Angular-kompilatorn och säger att den inte kan lösa min modell (även om sökvägen är korrekt). Om jag vill använda detta projekt framgångsrikt måste jag använda den första länken.
Nu är min fråga, hur kan jag ändra index.ts-filen på ett sätt så att endast en importväg (den korrekta) visas i Visual Studio Code för personer som använder mitt paket?
Svar #1
Du kan lägga till något i följande stil, till .vscode/settings.json:
{
"typescript.preferences.autoImportFileExcludePatterns": [
"@ads-shared/ads.shared.angular/lib*"
]
}
