Angular 8 与故事书 6

Angular 8 with Storybook 6

安装和启动故事书时出现以下错误。

ERROR in /Users/username/angular-storybook/src/stories/Button.stories.ts
ERROR in /Users/username/angular-storybook/src/stories/Button.stories.ts(2,29):
TS2307: Cannot find module '@storybook/angular/types-6-0'.

ng 版本

Angular CLI: 8.3.29
Node: 12.16.2
OS: darwin x64
Angular: 8.2.14

开发依赖

    "@compodoc/compodoc": "^1.1.11",
    "@storybook/addon-actions": "^6.0.12",
    "@storybook/addon-essentials": "^6.0.12",
    "@storybook/addon-links": "^6.0.12",
    "@storybook/angular": "^6.0.12"

作为解决方法,我更新了从 Button、Header、Page{.stories} 的导入:

From --->
import { Story, Meta } from '@storybook/angular/types-6-0';

To  ---->
import { Story, Meta } from '@storybook/angular';

这很好用。但不确定为什么样板代码有问题。 :( 这适用于版本 6.0.12。

更新: 使用较新版本的故事书(> 6.2.*), 在 .storybook 目录中的 typings.d.ts 中明确声明。 (@Mr.7 提到)

declare module '@storybook/angular'

就我而言,我尝试了 Subhakant 的解决方法,但它对我不起作用。经过一些研究,我发现了这个。

typings.d.ts 目录 .storybook 中的显式声明使其工作

declare module '@storybook/angular'

对我来说 none 这行得通。我使用 npx sb init 将故事书添加到现有的 Angular 6 项目中。遗憾的是,它没有正确设置故事书,我收到了与 OP 相同的错误,但是 none 这里的解决方案对我有用。最后我意识到,我的打字稿版本已经过时 (3.8.4),但设置是针对 TS 3.9 的。我将打字稿更新为 3.10.4 现在一切正常。