Material ui 如何在故事书5中树摇Lodash和Mui导入

Material ui 如何在故事书5中树摇Lodash和Mui导入,material-ui,lodash,storybook,tree-shaking,babel-plugin,Material Ui,Lodash,Storybook,Tree Shaking,Babel Plugin,我在我的CRA项目中使用了Mui和Lodash与Storybook 5。 我使用CRA中的babel插件导入,使用以下.bablerc.js module.exports={ 预设:[“react app”、“@babel/preset typescript”], 插件:[ [ “巴别塔插件导入”, { 库名:“@物料界面/核心”, 图书馆目录:“esm”, camel2DashComponentName:false, }, “核心”, ], [ “巴别塔插件导入”, { libraryName

我在我的CRA项目中使用了Mui和Lodash与Storybook 5。
我使用CRA中的
babel插件导入
,使用以下
.bablerc.js

module.exports={
预设:[“react app”、“@babel/preset typescript”],
插件:[
[
“巴别塔插件导入”,
{
库名:“@物料界面/核心”,
图书馆目录:“esm”,
camel2DashComponentName:false,
},
“核心”,
],
[
“巴别塔插件导入”,
{
libraryName:“@材料界面/图标”,
图书馆目录:“esm”,
camel2DashComponentName:false,
},
“图标”,
],
[“lodash”],
],
};
然而,在故事书5中,我无法做到同样的事情。当我尝试在Storybook中使用相同的配置(复制到
.Storybook/.babelrc.js
)时,babel配置会被加载,但在Storybook加载时间上没有任何改进(Mui图标似乎仍在加载大约一分钟)。删除预设 从巴贝尔配置也没有帮助

Storybook与我的CRA托管在同一根目录中,共享
节点\u模块

如何使导入树在Storybook 5中工作

以下是我的配置:

/.storybook/presets.js
module.exports=['@storybook/preset-create-react-app'];
/.storybook/webpack.config.js
module.exports=函数({config}){
// https://github.com/storybookjs/storybook/issues/6974#issuecomment-499903328
config.module.rules.unshift({
测试:/\.stories.js$\.stories.jsx$\\.stories.tsx$\\.stories.ts$/,,
加载程序:[require.resolve('@storybook/source loader')],
强制执行:“预”,
});
返回配置;
};
/.storybook/.babelrc.js
module.exports={
预设:[“react app”、“@babel/preset typescript”],
插件:[
[
“巴别塔插件导入”,
{
库名:“@物料界面/核心”,
图书馆目录:“esm”,
camel2DashComponentName:false,
},
“核心”,
],
[
“巴别塔插件导入”,
{
libraryName:“@材料界面/图标”,
图书馆目录:“esm”,
camel2DashComponentName:false,
},
“图标”,
],
[“lodash”],
],
};
/.storybook/config.js
从“@storybook/react”导入{addDecorator,addParameters,configure};
从“@storybook/addonknobs”导入{withKnobs}”;
从“@storybook/addonconsole”导入{withConsole}”;
从“@storybook/addon viewport”导入{INITIAL_viewport}”;
导入“./src/config”;
从“/decorators/intl”导入withIntl;
从“/decorators/reduxStoreWithDependentProviders”导入WithReduxStore和ConnectedOuter;
从“/decorators/stylesProvider”导入样式Provider;
从“/decorators/setup”导入安装程序;
const req=require.context(“../src”,true,/stories.tsx$| stories.ts$/);
const loadStories=()=>req.keys().forEach((文件名)=>req(文件名));
addDecorator(设置);
addDecorator(stylesProvider);
添加装饰器(带旋钮);
添加装饰器(withIntl);
添加装饰器(带ReduxStore和ConnectedOuter);
addDecorator((故事情节,上下文)=>
withConsole(consoleConfig)(故事fn)(上下文)
);
添加参数({
视口:{
视口:初始视口,
},
});
添加参数({
背景:[
{名称:“darkGray”,值:#34373c},
{名称:“灰色”,值:#a0a0},
{名称:“浅灰色”,值:#f0},
],
});
配置(加载故事、模块);