我创建了一个简单的 Angular 库(打包并发布到公司内部的 npm 存储库)。在我的库中,我还导出了在库组件中使用的模型,例如:
export class AdsToolbarMenuItem {
iconName: string;
label: string;
enabled: boolean = true;
menuAction: () => void;
constructor(init?: Partial<AdsToolbarMenuItem>) {
Object.assign(this, init);
}
}
然后,为了导出它们,我将它们包括在index.ts
以下内容中:
export * from './lib/angular-components.module';
export * from './lib/models/AdsToolbarMenuItem';
export * from './lib/models/AdsToolbarMainActionItem';
export * from './lib/models/ContactBox';
现在的问题是,一旦我想在常规项目中使用任何模型(我已经安装了这个包),Visual Studio Code 会为模型建议两个不同的导入路径,如图所示:
问题是,如果我选择第二个选项(更长的一个),角度编译器会失败并说它无法解析我的模型(即使路径是正确的)。如果我想成功使用这个项目,我必须使用第一个链接。
现在我的问题是,我怎样才能改变index.ts
文件的方式,以便只有一个导入路径(正确的)会出现在 Visual Studio 代码中供使用我的包的人使用?