前端模块化(iife CommonJs AMD UMD CMD) 如有错漏请诸位多多指正 十分感谢

本文详细介绍了JavaScript的模块化实现,包括iife(立即执行函数表达式)、CommonJS、AMD(异步模块定义)、UMD(通用模块定义)、CMD(Common Module Definition)和ES6的模块化。分析了各种模块化的优缺点,如iife防止命名空间污染,CommonJS适用于服务端,AMD适合浏览器异步加载,ES6模块化提供了一种统一的形态。
摘要由CSDN通过智能技术生成

模块化

最初的模块化iife是为了防止命名空间污染,变量混乱等原因而出现。之后组件发展成为提取公用代码 提升代码复用性 减少独立功能复杂度 将不同功能的代码封装后方便组装使用

iife

利用闭包定义一个模块

let head = (() => {

let data = a;

return {
                  getAdd: () => ++count;
                  reset: () => {
                            count = 0;

}

}

})();

//      可以通过以下方式调用 获取
         head.getAdd()
         head.reset()

Commonjs

通过module + exports 去对外暴露接口,通过require来调用其他模块。node制定的,因为是同步拉去依赖的,所以一般只适用于服务端。

优点:
CommonJS率先在服务端实现了,从框架层面解决依赖、全局变量污染的问题
    缺点:
主要针对了服务端的解决方案。对于异步拉取依赖的处理整合不是那么的友好。

// 引入部分
const dependencyModule1 = require(./dependencyModule1);
const dependencyModule2 &#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值