我正在尝试将Stencil和Storybook集成到同一个项目中。我一直在关注这个设置指南,但是其中一个步骤是将组件库发布到 NPM,这不是我想要的。
我有这个repo,我用组件库(src
文件夹)和这些组件的审阅者配置了 Storybook,它位于storybook
文件夹中。
问题是,当我使用 Stencil 编译组件并复制dist
Storybook 应用程序中的文件夹并导入组件时,没有任何渲染。使用自定义头部标签调整配置我能够正确导入它,但是没有应用样式。
当我打开网络面板时,导入组件时出现一些错误:
因此该组件存在于 DOM 中,但可见性设置为隐藏,我认为它在出现错误时会这样做。
这是组件au-button
:
import { Component } from '@stencil/core';
@Component({
tag: 'au-button',
styleUrl: 'button.css',
shadow: true
})
export class Button {
render() {
return (
<button class="test">Hello</button>
);
}
}
这是我的组件的故事:
import React from 'react';
import { storiesOf } from '@storybook/react';
import '../components/components.js'
storiesOf('Button', module)
.add('with text', () => <au-button></au-button>)
这些是 Storybook 应用程序中的脚本:
"scripts": {
"storybook": "start-storybook -p 9009",
"build-storybook": "build-storybook",
"copy": "cp -R ./../dist/* components"
},
工作流程如下:
- 推出故事书
- 在组件中进行更改
- 执行构建命令
- 执行复制命令
另外,我想自动化开发人员体验,但在我先解决了这个问题之后。
关于我可能做错了什么的任何想法?