考虑如下所示的 react-admin 应用程序。我计划以一种所有内容都在'./posts'
并且'./users'
仅在用户登录后才加载的方式进行代码拆分。
我计划使用我可以使用的动态 import() 语法,以便webpack 自动开始对应用程序进行代码拆分。
我看到的问题是所有应用程序组件都是使用应用程序的定义导入的。动态导入内容'./posts'
并且'./users'
不会拆分,因为它是在应用程序本身导入的。
如何设置和拆分此代码库,以便仅在用户登录后才加载'./posts'
和加载内容?'./users'
import React, { Component } from 'react';
import { Admin, Resource } from 'react-admin';
import { Login } from 'ra-ui-materialui';
import { authProvider, dataProvider, i18nProvider } from './providers';
// vvv - to be loaded after the user has logged in
import { PostList, PostEdit, PostCreate, PostIcon } from './posts';
import { UserList, UserEdit, UserCreate, UserIcon } from './users';
// ∧∧∧
class App extends Component {
render() {
return (
<Admin
title="MyApp"
loginPage={Login}
dataProvider={dataProvider}
authProvider={authProvider}
i18nProvider={i18nProvider}
>
<Resource
name="posts"
list={PostList}
edit={PostEdit}
create={PostCreate}
icon={PostIcon}
/>
<Resource
name="users"
list={UserList}
edit={UserEdit}
create={UserCreate}
icon={UserIcon}
/>
</Admin>
);
}
}
export default App;