微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让 vsCode 意识到自动补全的深度依赖导入? 编辑

如何解决如何让 vsCode 意识到自动补全的深度依赖导入? 编辑

我创建了多个 Angular 库,让我可以使用一堆组件更快地创建网站,例如:sidenav、卡片、...

我创建了一个“超级库”来导入所有这些,因此我可以使用 npm i myWebsiteBundle 一次性下载所有依赖项。

我已在我的 ng-package.json 文件中将所有此类插件列入白名单

  "whitelistednonPeerDependencies": [
    "@myName/sidenav-conponent","@myName/card-component",]

但是现在,当我想在例如导入它时。 app.module.ts vsCode 导入自动完成不会找到该模块。


import { SidenavComponentModule } from '@myName/card-component' // <-- Have to be typed manually

imports: [
  SidenavComponentModule // <-- No suggestion
]

我知道,建议单独下载每个包,但就我而言,它必须像这样实现

是否有人已经遇到过同样的问题并找到了解决方案?

编辑

然后我尝试导出 public-api.ts 文件中的库

 export { SidenavComponentModule } from '@myName/card-component'

自动完成确实出现了,但它未能导入正确的元素。

解决方法

您需要从库中导出组件、模块、服务等。
my-lib.ts

   // Public API Surface
    export * from './lib/my-lib.service';
    export * from './lib/my-lib.component';
    export * from './lib/my-lib.module';

    // AllowedNonPeerDependencies
    export { SidenavComponentModule } from '@myName/card-component'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。