使用Angular的Storybook简介第一部分

Encora 2021年1月29日

使用Angular的Storybook简介第一部分

在这个博客中, 我将通过一系列的文章引导您使用故事书创建独立的UI组件. 在这一部分中,我将介绍故事书,并从angular框架开始.

什么是故事书?

Storybook是一个用于定义、开发和测试UI组件的环境. 用故事书, 我们可以创建独立的组件,使开发更快,并允许您一次只处理一个组件.

它是开源的,可以免费使用.

对于务实的团队来说,Storybook是一个很有吸引力的选择. 它提供了开发环境的热重新加载, 完成插件的测试, 部署预览, 响应用户界面, 和更多的. 

开始使用Angular Storybook 

用于Angular的Storybook也是一个用于Angular组件的UI开发环境. 使用故事书,您可以为组件创建故事. 每个故事都显示了具有特定状态设置的单个组件的行为.

安装故事书

首先,使用这些命令创建一个Angular项目,

Angular CLI | Angular项目设置
第一步:安装angular cli:- npm Install——g @angular/cli.
步骤2:用这个命令创建一个新项目. 为路由选项选择yes, CSS或SCSS.
进入你的项目目录:- cd myNewApp.
步骤4:运行server并查看应用程序的运行情况:- ng server

接下来,使用Storybook CLI在单个命令中安装它

请注意 某人init 不是为空洞的工程而造的,

NPX某人

Storybook将在安装过程中查看项目的依赖项,并为您提供最佳配置.

在终端上运行的下一个命令是:

NPM运行故事书

安装完成后,故事书将在本地启动并输出地址. 它将自动打开,并在新的浏览器选项卡中显示地址,欢迎屏幕向您致意.

故事书提供了一些示例组件,如按钮、标题等.,供我们在欢迎页面上参考. 我们可以进一步创建引用这些现有组件的组件.

/的文件夹结构.故事书

A /.故事书 文件夹是在根目录下创建的,其中包含故事书中全局设置的所有配置文件. 可以通过在主目录中添加一个条目来添加新的插件.js文件.

创建一个 .故事书/预览.js 文件来控制故事的呈现方式,并添加全局装饰器和参数. 该文件在Canvas选项卡中加载,“预览”iframe单独呈现组件. 使用 预览.js 对于全局代码(例如 CSS进口 或JavaScript模拟)到所有的故事.

预览.js file可以是一个ES模块,并导出以下密钥:

  • 装饰器——一个全局装饰器数组
  • 参数——一个全局参数的对象
  • globalTypes -全局类型的定义

它还增加了 /故事 文件夹, 这给了我们一些故事书的用法例子, 提供已构建并记录的组件.

.

“.mdx的扩展

MDX在一个文件中捕获长篇Markdown文档和故事. 您还可以在MDX中编写纯文档页面,并将它们与故事一起添加到Storybook中.

接下来,我们将看到这个故事,以及如何用一个例子把它写进故事书.

什么是故事?

故事捕获UI组件的呈现状态. 开发人员为每个组件编写多个故事,描述组件可以支持的所有“有趣”状态. CLI创建的示例组件演示了可以使用Storybook: Button构建的组件类型, Header, 和页面.

注意: 在新创建的组件中,我们必须使用复制-粘贴方法来创建故事.ts文件.

首先,在故事中创建一个按钮组件作为函数. 这个函数描述了如何在primary状态下呈现按钮组件,并导出一个名为primary的故事. 此外,我将向您展示如何在我们的故事中启用和禁用状态.

Github 下面所示的代码显示了“链接”按钮的示例.”

linkButton.组件.ts
从“@angular/core”中导入{Component, Input};
@ 组件 ({
  选择器:“text-link-button”,
  template: ` `,
  styleUrls: ['./ linkButton.css的),
})
导出默认类ButtonComponent {
    @Input() label = '链接按钮';
    @Input()输入textColor;
    @Input() 禁用 = true;
    Public get classes(): string[] {
        Const mode = this.禁用 ? 'btn-禁用': 'btn-link';
        返回['btn', mode];
      }
}
linkButton.故事.ts
从“@故事书/angular”中导入{Story, Meta};
导入LinkButton./ linkButton.组件的;
导出默认{
  标题:“例子/ LinkButton”,
  组件:LinkButton,
  argTypes: {
    backgroundColor: {control: 'color'};
  },
}作为Meta;
const Template: Story = (args: LinkButton) => ({
  组件:LinkButton,
  道具:参数,
});
export const linkButton =模板.绑定({});
linkButton.参数= {
  禁用:没错,
  标签:“链接按钮”;
};
linkButton.css
.btn-禁用 {
  光标:不允许 !重要;
}

在使用命令运行项目后,我们将看到以下输出: NPM运行故事书.

故事书的优点

  • Storybook提供了在一个地方方便地访问所有组件的文档和设计参考.
  • Storybook为大型项目的开发人员提供了良好的协作, 确保代码的一致性和质量.
  • 在故事书中测试和调试孤立的组件更容易.
  • 更容易向客户演示组件,在将其添加到项目之前了解实际工作.

到目前为止,我已经在第1部分介绍了故事书的概念和安装. 在本系列的第2部分中,我将发布有关向故事书和故事添加附加组件的详细信息.

了解的内容

类别

分享这篇文章

特色的见解