Javascript 如何在Storybook React应用程序中嵌入StencilJS组件?
我正在尝试将其集成到同一个项目中。我一直在遵循,但其中一个步骤是将组件库发布到NPM,这不是我想要的 我用组件库(Javascript 如何在Storybook React应用程序中嵌入StencilJS组件?,javascript,reactjs,storybook,stenciljs,Javascript,Reactjs,Storybook,Stenciljs,我正在尝试将其集成到同一个项目中。我一直在遵循,但其中一个步骤是将组件库发布到NPM,这不是我想要的 我用组件库(src文件夹)和Storybook组件的审阅者配置了它,Storybook位于Storybook文件夹中 问题是,当我使用模具编译组件并复制Storybook应用程序中的dist文件夹并导入组件时,没有任何渲染。使用我能够正确地导入配置,但是没有应用任何样式 当我打开网络面板时,导入组件时出现一些错误: import React from 'react'; import { stor
src
文件夹)和Storybook组件的审阅者配置了它,Storybook位于Storybook
文件夹中
问题是,当我使用模具编译组件并复制Storybook应用程序中的dist
文件夹并导入组件时,没有任何渲染。使用我能够正确地导入配置,但是没有应用任何样式
当我打开网络面板时,导入组件时出现一些错误:
import React from 'react';
import { storiesOf } from '@storybook/react';
import '../components/components.js'
storiesOf('Button', module)
.add('with text', () => <au-button></au-button>)
因此,该组件存在于DOM中,但可见性设置为hidden,我认为在出现错误时会这样做
这是组件au按钮
:
import { Component } from '@stencil/core';
@Component({
tag: 'au-button',
styleUrl: 'button.css',
shadow: true
})
export class Button {
render() {
return (
<button class="test">Hello</button>
);
}
}
"scripts": {
"storybook": "start-storybook -p 9001 -c .storybook -s www"
},
工作流程如下:
dist
目录和static
文件,以便您的HTML能够在已知URL处引用它?通过选择偏离指导原则,这是您必须手动解决的问题
这不是一个不可逾越的问题,但没有一个全面的解决办法。你选择了(出于你自己的原因)拒绝《操作指南》提供的解决方案,这意味着你接受了“我知道我想要什么”的外衣:-)我使用的是
@storybook/polymer
,它对我非常有效
以你为例:
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 { configure, addDecorator } from '@storybook/polymer';
const req = require.context('../src', true, /\.stories\.js$/);
function loadStories() {
req.keys().forEach((filename) => req(filename))
}
configure(loadStories, module);
和storybookpreview head.html
您必须在正文中添加以下内容:
<body>
<div id="root"></div>
<div id="error-message"></div>
<div id="error-stack"></div>
</body>
此示例可在回购协议中找到
. 它使用旋钮和注释自动生成故事。它也有自定义的主题。希望有帮助。您找到解决问题的方法了吗?我正试图以类似的方式实现模具
dist
内容,但也无法让组件进行渲染。我正在玩弄模具和引导,需要设置shadow:false
以获得要应用的样式。如果CSS没有配置为阴影dom,它将找不到它。请从链接中提供必要的详细信息,因为链接可能在将来过期。
import { configure, addDecorator } from '@storybook/polymer';
const req = require.context('../src', true, /\.stories\.js$/);
function loadStories() {
req.keys().forEach((filename) => req(filename))
}
configure(loadStories, module);
<body>
<div id="root"></div>
<div id="error-message"></div>
<div id="error-stack"></div>
</body>