如何解决ReactJS-通过延迟加载自动创建块
假设我们有三个页面,并且希望将它们分成不同的块。如果我们手动添加/* webpackChunkName: "chunkName" */
,可能会发生这种情况。
const Home = lazy(() => import(/* webpackChunkName: "HomePage" */ "../../pages/Home"));
const Login = lazy(() => import(/* webpackChunkName: "Login" */ "../../pages/Login"));
const Register = lazy(() => import(/* webpackChunkName: "Register" */ "../../pages/Register"));
是否可以使我们的生活更轻松并避免一直使用webpackChunkName?
解决方法
一种方法是在块名称注释中使用[request]
占位符来动态设置块名称。
您可以创建一个函数,该函数将调用import()
函数并使用[request]
占位符设置动态块名称。
然后,使用此功能延迟导入组件。
这里是一个例子。
const lazyImport = path => {
return import(/* webpackChunkName: "[request]" */ `${path}`);
};
const Home = React.lazy(() => lazyImport("../../pages/Home"));
// Chunk name will be pages-Home.chunk.js
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。