【问题标题】:Importing @ng-select/ng-select in Storybook/angular在 Storybook/angular 中导入 @ng-select/ng-select
【发布时间】:2021-11-08 15:27:18
【问题描述】:

我正在尝试在故事书中使用 @ng-select/ng-select,但它失败了(MatIconModule 按预期工作)。

import { NgSelectModule } from '@ng-select/ng-select';
import { MatIconModule } from '@angular/material/icon';

export default {
   title: 'shared/rating-stars',
   component: RatingStarsComponent,
   imports: [NgSelectModule, MatIconModule]
} as Meta;

错误消息是标准的:“core.js:14937 'ng-select' 不是已知元素:...”所以看起来 NgSelectModule 没有正确定义组件。所以我想看看这个模块,但我发现 node_modules/@ng-select/ng-select/lib/ng-select.module.d.ts 几乎是空的(重新安装包没有帮助,我可以重现它在win / linux上):

export declare class NgSelectModule {
}

应用程序本身工作正常,知道可能出了什么问题吗?非常感谢。

【问题讨论】:

  • 您是否尝试重新安装软件包?
  • stackoverflow.com/questions/51446254/… 这个问题对你有帮助吗?
  • @Amer - 是的,我已经删除了包 (rm -rf) 并重新安装了它。我也在windows和linux系统上都试过了,所以我知道这不是本地配置错误。
  • @Simone 我以前看过那个帖子,但没有帮助。我应该(并且将)在问题中提及它。

标签: angular storybook


【解决方案1】:

您可能不需要在组件中导入 NgSelectModule。 而是像这样将其导入您的父 module.ts 中。然后你就可以在你的html文件中使用它了。

import { NgSelectModule } from '@ng-select/ng-select';
@NgModule({
  imports: [
    .....
    NgSelectModule,
    .....
  ],
  declarations: []
})
export class MyModule { }

【讨论】:

  • 恕我直言,这是直接在应用程序中使用时的有效答案,但是当使用故事书(或可能其他测试套件)时,这不是一个真正的选择。或者是吗? afaik app.module.ts 不用于此类场景
猜你喜欢
  • 2021-09-15
  • 2021-10-16
  • 1970-01-01
  • 1970-01-01
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 2022-11-25
相关资源
最近更新 更多