react打包app_react 路由动态加载组件,实现按需加载

10edf0311add83f9e97e845d34074e1a.png

默认情况下,当在项目根路径下执行npm run build时,create-react- app内部使用webpack将src/路径下的所有代码打包成一个JS文件和一个 CSS文件。

当项目代码量不多时,把所有代码打包到一个文件的做法并不会有什么影响。但是,对于一个大型应用,如果还把所有的代码都打包到一个文件中,显然就不合适了。试想,当用户访问登录页面时,浏览器加载的JS文件还包含其他页面的代码,这会延长网页的加载时间,给用户带来不好的体验。理想情况下,当用户访问一个页面时,该页面应该只加载自己使用到的代码。解决这个问题的方案就是代码分片,将JS代码分片打包到多个文件中,然后在访问页面时按需加载。

create-react-app支持通过动态import()的方式实现代码分片。

import() 接收一个模块的路径作为参数,然后返回一个Promise对象,Promise对象的值就是待导入的模块对象。

首页 我们建立个importComponent 组件。

126b80904661fb33ce72d7f097a16e5e.png

然后到 router 路由文件里面引用

614da7ce2ce91f40fdad5debd7dd2d35.png

这样引入之后 打包后的js就会多出几个 ,这样就可以对react性能优化,实现组件的按需加载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值