查看 react-starter-kit 中的示例代码,我对语句的require.ensure([], (require) => resolve(require('./Admin').default), 'admin');
作用感到困惑。我没有看到 require.ensure 在任何地方定义,所以我假设它是一个 webpack 函数。
这是确保用户具有管理员角色的授权检查吗?如果是这样,用户信息和角色信息在哪里被实例化?
是否只是为了确保管理组件被实例化?什么是.default
属性以及字符串“admin”的用途是什么?
import React from 'react';
import Layout from '../../components/Layout';
const title = 'Admin Page';
const isAdmin = false;
export default {
path: '/admin',
async action() {
if (!isAdmin) {
return { redirect: '/login' };
}
const Admin = await new Promise((resolve) => {
require.ensure([], (require) => resolve(require('./Admin').default), 'admin');
});
return {
title,
chunk: 'admin',
component: <Layout><Admin title={title} /></Layout>,
};
},
};