我在lerna / yarn工作区monorepo中使用故事书。我今天注意到,故事书正在尝试从packages/**/node_modules/@scope/foo/stories/foo.stories.js
加载故事,我尝试注销config.js中的require.context键,但未将其记录到控制台。有没有现成的方法告诉故事书不要加载符号链接的本地node_modules
?我是否可能配置了错误的故事书?这是我的配置:
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
加载故事?
答案 0 :(得分:0)
以下正则表达式解决了问题
const req = require.context('../packages', true,
/^((?![\\/]node_modules[\\/]).)*\.stories\.js$/
);