我想使用`react-styleguidist'在其中记录ButtonGroup
组件呈现Button
组件。
我有一个styleguidist webpack配置,如下所示:
module.exports = {
module: {
rules: [
{
test: /\.jsx?$/,
use: [
{
loader: 'babel-loader'
}
],
exclude: /node_modules/
}
]
},
devtool: 'cheap-module-eval-source-map'
}
我知道我不需要定义常用的加载器和插件,因为styleguidist已经在内部添加它们
在src/components/
内,允许styleguidist
接收我的组件的目录结构看起来有点像这样:
Button
index.js
Readme.md
ButtonGroup
index.js
example.js (created for Case II after Case I failed)
Readme.md
案例I
在Readme.md
目录中的ButtonGroup
:
```jsx
const Button = require('../index')
<ButtonGroup>
<Button type='primary' size='lg'>Hello, World</Button>
<Button type='primary' size='lg'>Hello, Doctor</Button>
</ButtonGroup>
```
当我这样做时,我的styleguide
会出现错误:
SyntaxError: Adjacent JSX elements must be wrapped in an enclosing tag (5:2)
案例II
我已尝试将信息封装在example.js
内ButtonGroup
目录中,如上图所示,该文件包含:
import React from 'react'
const ButtonGroup = require('./index')
const Button = require('../index')
export default function ButtonGroupExample (props) {
return (
<ButtonGroup>
<Button>Hello, World</Button>
<Button>Hello, Doctor</Button>
</ButtonGroup>
)
}
现在,示例组件已导入Readme.md
:
```jsx
const Example = require('./example')
(<Example />)
```
抛出错误:
TypeError: require(...) is not a function
答案 0 :(得分:3)
我知道我不需要定义常用的加载器和插件,因为styleguidist已经在内部添加它们
事实并非如此。 Styleguidist不会在您的代码中添加任何加载器。
SyntaxError:相邻的JSX元素必须包装在一个封闭的标记(5:2)
中
;
之后,您很可能需要使用分号。并且您可能不需要Button
组件。这取决于您的样式指南配置以及是否要在样式指南中显示Button
组件。
如果要在样式指南中显示这两个组件,请将Styleguidist指向所有组件:components: 'src/components/**/index.js'
。
如果要隐藏样式指南中的某些组件但能够在示例中使用它们,请启用skipComponentsWithoutExample
选项并使用require
选项加载组件:
// styleguide.config.js
module.exports = {
skipComponentsWithoutExample: true,
require: [
path.resolve(__dirname, 'styleguide/setup.js')
]
}
// styleguide/setup.js
import Buttom from './src/components/Button';
global.Button = Button;
案例II
我不确定你在这里要做什么。