模块化

本文详细介绍了模块化的概念、注意事项、优点和存在的问题,包括如何避免全局环境污染和命名冲突。探讨了require.js、CommonJS、AMD、CMD和ES6模块化等前端模块化方案,以及sea.js的优缺点。通过示例展示了ES6模块化的导出与导入方式,强调了模块化对于提升代码可维护性和性能的重要性。
摘要由CSDN通过智能技术生成
一、含义

我们实现一个应用时(不管是web、桌面还是移动端),通常都会按照不同的功能,分割成不同的模块来编写,编写完之后按照某种方式组装起来成为一个整体,最终实现整个系统的功能。

二、注意

如果一个团队一起做一个复杂的应用,分模块分工合作时,需要注意的点:

  • 模块中定义的资源不应该污染全局环境,否则多人协作困难且容易出错。
  • 各个模块可独立工作,即便单组模块出现故障也不影响整个系统工作
  • 各模块不能全部预先加载,应该实现按需自动加载。确保每个模块高效运行,又能节约资源,提高效率。

C、C++、Java、PHP等等编程语言本身就拥有可以实现模块化的指令或方法,有了这些指令或方法,就可以把子功能写在另外的文件上,需要用到的时候直接引入即可。例如:

  • c使用 #include 包含.h文件
  • php中使用 require_once 包含.php文件
  • java使用 import 导入包

抛开C、C++、Java、PHP这些不说,就说前端领域,认真想想,其实 html css 也实现了模块化。

  • html 中的

    img

  • css 中有 @import "

    /

    .css " 指令可以导入其他css

    img

三、优点

可维护性:

  • 多人协作互不干扰
  • 灵活架构,焦点分离
  • 方便模块间组合、分解 、解耦
  • 方便单个模块功能调试、升级

可测试性:

  • 可分单元测试
四、问题
  • 依赖关系不好管理。

  • 全局环境的污染。

  • 命名冲突

五、避免全局环境污染的方法
  • 只创建一个全局变量作为当前应用的容器,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值