JS——里的模块化

1. 定义

模块化开发是一种管理方式,是一种生产方式,一种解决问题的方案,一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块

2. 规范

AMD(依赖前置)
CMD(依赖就近)
CommonJS
ES6的模块化

2.1. AMD规范(异步模块定义)

AMD依赖前置,即在定义模块的时候就要声明其依赖的模块。使用此规范的代表有requireJS,requireJS定义了一个函数 define,它是全局变量,用来定义模块

//id:可选参数,用来定义模块的标识,如果没有提供该参数,脚本文件名(去掉拓展名)
//dependencies:是一个当前模块依赖的模块名称数组
//factory:工厂方法,模块初始化要执行的函数或对象。如果为函数,它应该只被执行一次。如果是对象,此对象应该为模块的输出值
define(id?, dependencies?, factory)
//dependencies:数组,表示所依赖的模块
//callback:回调函数,当前面指定的模块都加载成功后,它将被调用。加载的模块会以参数形式传入该函数,从而在回调函数内部就可以使用这些模块
require([dependencies], callback)

2.2 CMD规范(通用模块定义)

CMD依赖就近,即只有在用到某个模块的时候再去require,使用此规范的代表有seaJS。
1.require 是一个方法,接受 模块标识 作为唯一参数,用来获取其他模块提供的接口:require(id)
2.exports 是一个对象,用来向外提供模块接口
3.module 是一个对象,上面存储了与当前模块相关联的一些属性和方法

//factory是一个函数,有三个参数,function(require, exports, module)
define(id?, deps?, factory)

2.3. CommonJS

NodeJS就采用了CommonJS
1.模块中使用module.exportsexport导出

2.4. ES6的模块化

1.导入用import
2.导出用export

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值