Cri*_*ian 5 node-modules reactjs storybook
我有一个 React 项目,其中包含相当多的组件,我想安装 StoryBook 以便能够查阅它们。
为此,我将 StoryBook 作为主项目之外的项目安装,保留文件夹结构如下:
c:\development\MyProject
c:\development\StoryBook
Run Code Online (Sandbox Code Playgroud)
在 StoryBook 内部,我在Button.stories.jsx文件中添加了以下“导入” ,该文件管理安装中默认提供的按钮部分。
import SmallButton from 'MyProject/Buttons/SmallButton';
Run Code Online (Sandbox Code Playgroud)
为了使其工作并能够导入我的组件,我在StoryBook 项目内的node_modules文件夹内创建了一个符号链接。
c:\development\StoryBook\node_modules\MyProject <== symbolic link to c:\development\MyProject\src
Run Code Online (Sandbox Code Playgroud)
当我使用纱线故事书启动 StoryBook 时,它找到我的组件文件,但出现以下我无法解决的错误:
ERROR in ../MyProject/src/components/VSNButtons/SmallButton/index.js 10:12
Module parse failed: Unexpected token (10:12)
File was processed with these loaders:
* ./node_modules/@storybook/preset-create-react-app/node_modules/@pmmmwh/react-refresh-webpack-plugin
/loader/index.js
You may need an additional loader to handle the result of these loaders.
| const className = "ep-action " + (this.props.disabled ? "disabled " : " ") + (this.props.className || "");
| return (
> <span className={className} onClick={this.props.onClickHandle}>
| <span>
| <i className={"ep-action zmdi " + this.props.iconClass}></i>
@ ./src/stories/atoms/buttons/Button.stories.jsx 150:0-58
@ ./src sync ^\.(?:(?:^|[\\/]|(?:(?:(?!(?:^|[\\/])\.).)*?)[\\/])(?!\.)(?=.)[^\\/]*?\.stories\.(js|jsx|ts|tsx))$
@ ./generated-stories-entry.js
@ multi ./node_modules/@storybook/preset-create-react-app/node_modules/@pmmmwh/react-refresh-webpack-plugin/client/ReactRefreshEntry.js ./node_modules/@storybook/preset-create-react-app/node_modules/@pmmmwh/react-refresh-webpack-plugin/client/ErrorOverlayEntry.js ./nod
e_modules/@storybook/core-server/node_modules/@storybook/core-client/dist/esm/globals/polyfills.js ./node_modules/@storybook/core-server/node_modules/@storybook/core-client/dist/esm/globals/globals.js ./node_modules/webpack-hot-middleware/client.js?reload=true&quiet=fal
se&noInfo=undefined ./storybook-init-framework-entry.js ./node_modules/@storybook/addon-docs/dist/esm/frameworks/common/config.js-generated-config-entry.js ./node_modules/@storybook/addon-docs/dist/esm/frameworks/react/config.js-generated-config-entry.js ./node_modules/
@storybook/react/dist/esm/client/preview/config-generated-config-entry.js ./node_modules/@storybook/addon-links/dist/esm/preset/addDecorator.js-generated-config-entry.js ./node_modules/@storybook/addon-actions/dist/esm/preset/addDecorator.js-generated-config-entry.js ./
node_modules/@storybook/addon-actions/dist/esm/preset/addArgs.js-generated-config-entry.js ./node_modules/@storybook/addon-backgrounds/dist/esm/preset/addDecorator.js-generated-config-entry.js ./node_modules/@storybook/addon-backgrounds/dist/esm/preset/addParameter.js-g
enerated-config-entry.js ./node_modules/@storybook/addon-measure/dist/esm/preset/addDecorator.js-generated-config-entry.js ./node_modules/@storybook/addon-outline/dist/esm/preset/addDecorator.js-generated-config-entry.js ./node_modules/@storybook/addon-interactions/dist
/esm/preset/argsEnhancers.js-generated-config-entry.js ./.storybook/preview.js-generated-config-entry.js ./generated-stories-entry.js
Run Code Online (Sandbox Code Playgroud)
**StoryBook (main.js) 的文件配置 **
module.exports = {
stories: [
"../src/**/*.stories.mdx",
"../src/**/*.stories.@(js|jsx|ts|tsx)"
],
staticDirs: ["../public"],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/preset-create-react-app",
"@storybook/addon-interactions",
],
features: {
postcss: false
},
framework: "@storybook/react",
core: {
builder: "webpack4",
}
};
Run Code Online (Sandbox Code Playgroud)
还有StoryBook的.babelrc
{
"sourceType": "unambiguous",
"presets": [
[
"@babel/preset-env",
{
"shippedProposals": true,
"loose": true
}
],
"@babel/preset-typescript"
],
"plugins": [
"@babel/plugin-transform-shorthand-properties",
"@babel/plugin-transform-block-scoping",
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
],
[
"@babel/plugin-proposal-class-properties",
{
"loose": true
}
],
[
"@babel/plugin-proposal-private-methods",
{
"loose": true
}
],
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-syntax-dynamic-import",
[
"@babel/plugin-proposal-object-rest-spread",
{
"loose": true,
"useBuiltIns": true
}
],
"@babel/plugin-transform-classes",
"@babel/plugin-transform-arrow-functions",
"@babel/plugin-transform-parameters",
"@babel/plugin-transform-destructuring",
"@babel/plugin-transform-spread",
"@babel/plugin-transform-for-of",
"babel-plugin-macros",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator",
[
"babel-plugin-polyfill-corejs3",
{
"method": "usage-global",
"absoluteImports": "core-js",
"version": "3.18.3"
}
]
]
}
Run Code Online (Sandbox Code Playgroud)
有谁知道解决这个问题的解决方案是什么?
或者可能是因为我无法从其他项目导入组件。
非常感谢。
PD:对不起我的英语,我用谷歌翻译来帮助我。
| 归档时间: |
|
| 查看次数: |
1933 次 |
| 最近记录: |