Angular项目启动Storybook失败:无法找到@storybook/angular/demo模块
解决Angular 8 + Storybook 5.3.17中
@storybook/angular/demo模块找不到的问题 我之前在Angular 8项目里集成Storybook 5.x的时候也碰到过一模一样的问题!其实问题出在Storybook CLI初始化时自动生成的0-Welcome.stories.ts文件里——这个文件引用了一个根本不存在于@storybook/angular@5.3.17包里的demo模块,属于初始化模板的小bug,跟你的依赖安装状态无关。
下面给你几个可行的解决办法:
办法一:修改0-Welcome.stories.ts文件,替换错误导入
打开src/stories/0-Welcome.stories.ts,把里面依赖@storybook/angular/demo的代码替换成不需要这个模块的内容。比如改成一个简单的欢迎故事:
import { storiesOf } from '@storybook/angular'; storiesOf('Welcome', module) .add('to Storybook', () => ({ template: `<div style="padding: 2rem; text-align: center;"> <h1>Welcome to Storybook for Angular!</h1> <p>Start building your component stories below.</p> </div>` }));
办法二:直接删除自动生成的欢迎故事文件
如果你不需要这个默认的欢迎引导故事,直接删掉src/stories/0-Welcome.stories.ts就可以了,完全不会影响你编写自己的组件故事。
办法三:升级Storybook到兼容版本(可选)
如果想从根源避免这类初始化问题,可以考虑把Storybook升级到5.x的最新补丁版本,或者尝试升级到6.x版本(注意:Angular 8和Storybook 6.x存在兼容性限制,升级后可能需要调整部分配置)。不过这个办法相对繁琐,前面两个办法已经能快速解决当前问题。
另外你提到代码提示正常但编译报错,是因为IDE可能误判了模块存在,但实际编译时TypeScript找不到对应的模块文件,只要修正掉那个错误的导入就能解决问题。
内容的提问来源于stack exchange,提问作者Alexander_F
相关产品推荐
相关产品推荐

