高级4:AMD_CMD_RequireJS

2017-11-03  本文已影响0人  饥人谷_严琰

题目1: 为什么要使用模块化?

题目2: CMD、AMD、CommonJS 规范分别指什么?有哪些应用

// 这里是a.js
var name = 'a';

// 输出name
module.exports = {
  name: name
}
// 这里是b.js
var a = require('a'); // 使用require方法加载模块,并返回模块内部的 module.exports 对象
a.name; // a
// 这里是a.js
// define函数的第一个参数为依赖项数组,即想要加载的模块:例如jquery
// 第二个参数为回调函数,等模块加载完毕后会把加载的模块传到回调函数里
define(['jquery'], function ($) {
  var name = 'a';

  return {
    name: name
  }  // 这里是模块输出,让别的模块能够使用
});
// 这里是b.js
// 加载模块a
// 等到所有模块都加载完毕后再执行回调函数并把模块传到回调函数
require(['jquery', 'a'] function ($, a) {
  a.name; // a
})
// 这里是a.js
define(function (require, module, exports) {
  var $ = require('jquery'); // 与AMD规范不同的是,CMD规范是要用到模块的时候再加载,而AMD规范是先把所有模块加载完后再用
  $('div').addClass('active');
})
// 这里是b.js
// 使用模块a
seajs.use(['a.js'], function(a){
  // todo
});

题目3: 使用 requirejs 完善入门任务15,包括如下功能

代码地址:https://github.com/a625689014/requirejs
预览地址:https://a625689014.github.io/requirejs/page.html

注:预览链接加载时间较长,瀑布流图片墙在本地mock成功


image.png
上一篇 下一篇

猜你喜欢

热点阅读