AMD/CMD/COMMJS/ES6模块化

AMD

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出 。
  • 定义模块
    define([] ,function(){})

    //define 定义模块,接收两个参数.

    //第1个参数,必须是一个数组,指明该模块的依赖性

    //第2个参数是一个回调函数。

    //一个模块只能有一个define(每个 JavaScript 文件就是一个独立的模块)

  • 调用模块
    require([],function(){})
    //第1个参数是一个数组,表示所依赖的模块(调用)
    //第2个参数是一个回调函数,当前面指定的模块都加载成功后,它将被调用。

  • 模块配置

 require.config({

   	 	baseUrl: 'https://cdn.bootcdn.net/ajax/libs/', //配置公共路径

​    		paths: {'jquery': 'jquery/3.5.1/jquery',//paths里面填写需要的包'jqcookie': 'jquery-cookie/1.4.1/jquery.cookie' //路径后面不能有js文件的扩展名}})
  • 使用
<script src="js/require.js" defer async="true" data-main="程序主入口"></script>
//async属性表明这个文件需要异步加载,避免网页失去响应。IE不支持这个属性,只支持defer,所以把defer也写上。
//data-main属性的作用是,指定网页程序的主模块,意思是整个网页的入口代码,所有代码都从这儿开始运行,文件名自定义。

COMMONJS

COMMONJS是一个nodejs的规范,需要在node环境下运行,是最早的规范。

  • 模块定义
    module.exports=函数/数组/对象…

  • 调用模块
    require()

  • 模块配置
    引入模块的路径./ …/

ES6模块化

  • 模块定义
    export{}暴露模块
    例如:
let name = 'zhangsan';let age = 100;function fn(a, b) {

   	return a + b;}export {name,age,fn}
  • 调用模块
	import{ name,age,fn} from ' ' //当前目录,如果不添加,从node_module里面去找这个模块。

	import{ name as username} form ' ' //as修改名称
  • 使用
<script src="" type="moudle"></script>//type='moudle'一定要加

CMD

CMD 是 SeaJS 在推广过程中对模块定义的规范化产出 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值