我建议按照这里的例子:https :
//reacttraining.com/react-router/web/guides/code-splitting
react-loadable
是一个 npm 包,它使代码拆分(又名延迟加载)变得非常容易,并且还为您提供了在延迟加载完成之前渲染加载组件的能力。
唯一的问题是,如果您要使用Babel
来转换代码包,则必须添加对动态导入语法的支持,webpack
默认情况下已经具有此功能,但Babel
没有。
Babel 插件:
@babel/plugin-syntax-dynamic-import
将通过添加对语法的支持来实现这一点。
我推荐react-loadable
over,React.lazy
因为它使显示加载组件而延迟加载非常容易,并为您提供钩子以显示错误组件并在失败的情况下重试导入。
react-loadable
在此处阅读更多信息:https :
//github.com/jamiebuilds/react-loadable
你的代码看起来像这样:
import Loadable from 'react-loadable';
import Loading from './YOUR-LOADING-COMPONENT';
const LoadableWallet = Loadable({
loader: () => import('eth-lightwallet/dist/lightwallet.min.js'),
loading: Loading,
});
export default class Wallet extends React.Component {
render() {
return <LoadableWallet/>;
}
}