AMD / CMD 模块化开发

AMD 先下载 require AMD开发模块包

  1. 同一文件夹下有  a.js   b.js  c.js    index.html     require.js包

a.js

// 文件名 : a.js
let a = 10;

define('moduleA',function(){
  return a
})
// 语法 
// define('模块名',执行函数)
// 执行函数中使用对应的逻辑语法  ,最后函数中使用return 抛出变量

b.js

//b .js

let b = 20;


defind('moudleB',['moudleA'],function(mouduleA){

console.log(moduleA)   //10

return { b,mouduleA}

 })

c.js

require(['moduleA','moudleB'],function(){
     
      console.log(moduleA,moudleB) 
})

/ requirejs 语法
// 第一步 引入requirejs
//第二步: 使用define('模块名',[依赖的模块1,依赖的模块2,。。。],function(依赖的模块1,依赖的模块2){
// 模块1 就是该模块return 的值
// 模块2 就是该模块return 的值
// })

// 特点:不用考虑文件的引入顺序了,因为requirejs 把依赖关系定义到代码里了

CMD模块化

1 同一文件夹下有  a.js   b.js  c.js    index.html     sea.js包

a.js

// 语法
// define('模块名',funciton(require,exports,module){
// require引入其他模块时使用
// exports 抛出变量时使用
// module 抛出变量时使用
// })
define('moduleA', function (require, exports, module) {
    let a = 10
    // 抛出 a 变量  exports为对象
    exports.a = a
})

b.js

define('moduleB', function (require, exports, module) {
    let b = 20
    // 引入a
    let a = require('moduleA')
    // 抛出 a,b
    module.exports = {
        a,
        b
    }
})

c.js

seajs.use(['moduleA', 'moduleB'], function (moduleA, moduleB) {
    console.log(moduleA, moduleB);
})

// 语法:
// seajs.use(['moduleA', 'moduleB'], function (moduleA, moduleB) {
// console.log(moduleA, moduleB);
// moduleA,moduleB 分别时依赖进来的模块
// })

// 特点:
// 什么时候使用其他变量,什么时候require 进来
// c.js 文件就是最终执行的文件,他没有再被其他模块依赖了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值