我在lerna/yarn工作区monorepo中使用了storybook。今天我注意到storybook正在尝试从packages/**/node_modules/@scope/foo/stories/foo.stories.js加载故事,我尝试在config.js中注销require.context密钥,但没有登录到控制台。有没有现成的方法来告诉storybook不要加载符号链接的本地node_modules?是不是我错误地配置了storybook?这是我的配置:
import '@storybook/addon-console';
import { withA11y } from '@storybook/addon-a11y';
import { addDecorator, addParameters, configure } from '@storybook/polymer';
import theme from './my-theme'
const req = require.context('../packages', true, /\.stories\.js$/);
const load = filename => req(filename);
addParameters({ options: {
panelPosition: 'right',
theme,
} })
addDecorator(withA11y)
configure(function loadStories() {
req.keys()
.filter(filename => !filename.match(/packages\/.*\/node_modules/))
.forEach(load);
}, module);示例错误:
ERROR in ./packages/input/node_modules/@scope/collapse/stories/collapse.stories.js
Module not found: Error: Can't resolve '../../button/src/my-button' in '/Users/bennyp/Documents/web-components/packages/input/node_modules/@scope/collapse/stories'这会导致故事书构建中断。
如何告诉故事书不从内部node_modules加载故事
发布于 2019-05-29 13:47:16
下面的正则表达式解决了这个问题
const req = require.context('../packages', true,
/^((?![\\/]node_modules[\\/]).)*\.stories\.js$/
);https://stackoverflow.com/questions/56353854
复制相似问题