前端面试模块化开发认识及全面分析详解

何为模块化开发与按需加载
何为模块化开发?
为了回答这个问题,首先解释何为“模块”:
“模块”是为完成某一功能所需的一段程序或子程序。模块是系统中“职责单一”且“可替换”的部分。
所谓的模块化就是指把系统代码分为一系列职责单一且可替换的模块。模块化开发是指如何开发新的模块和复用已有的模块来实现应用的功能。
何为按需加载
按需加载需要从时间和空间两方面理解。
空间上:只加载当前页面的模块
时间上:只有当用户表现出需要某一功能的意图时,才去加载相关模块。
模块化开发与按需加载的适用场景
满足如下条件的应用适合采用模块化开发与按需加载技术:
应用复杂。不止一个功能部分,这些部分可能共享一些底层代码
需要长期维护。开发初期可能需求不太明确,需要不断迭代开发,经常面临需求变更和功能添加。
对性能要求苛刻。面临复杂的yoghurt交互和数据展现问题。
传统的js开发模式和加载模式是怎么样的?
在过去由于应用的复杂度不高,js之于web页面一直处于一种辅助程序的地位,甚至谈不上一门应用开发语言。而且多数网站都是一次性应用,规模较小,相对于可维护性,开发速度更重要。与其重构一个现有应用,还不如重写一个,在这样的环境下,采用传统的面向过程的编程模式足以应付开发需要。
由于网站规模小,与其把代码划分为小的模块,然后在不同的页面分别加载,还不如把相关的代码都集中写在一个处,比如写一个common.js或share.js,然后所有的页面都引用这个文件。这样做开发简单,而且由于浏览器有缓存,首次加载后,后续无需网络传输,性能上不会有什么太大的问题。
传统开发模式的问题。
问题一࿱

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值