AMD

AMD https://github.com/amdjs/amdjs-api/wiki/AMD-(%E4%B8%AD%E6%96%87%E7%89%88)
异步模块定义规范(AMD)制定了定义模块的规则,
这样模块和模块的依赖可以被异步加载。
这和浏览器的异步加载模块的环境刚好适应
(浏览器同步加载模块会导致性能、可用性、调试和跨域访问等问题)。

index.html 在body部分
//这里的data-main = "main" 是同目录 下的main.js
<script src = "lib/require.js" data-main = "main"></script>

=============
main.js

//配置
require.config({
paths :{
//这里是先加载 , 不执行 ,所以 不用但心 执行 顺序
//注意 这里 的 文件 不需要 写 后缀
'jquery' : './lib/jquery-2.1.1.min',
'Zepto' : './lib/zepto',

    'underscore':   './lib/underscore.min',
    //backbone  依赖 underscore库 , 所以必需有
    //backbone  单页 应用
    'backbone'  :   './lib/backbone.min',
    
    //text  用来 解析  切换 内容 页面的 
    'text'  :   './lib/text',
    
    
    'home'  :   './js/home'
    
}

});

// require方法: 当数组内的依赖文件加载完毕之后,
//再执行回调函数内的方法。
//这里可以只加载 , 不执行回调函数 , 如test
//require(['jquery','home','test'],function($,home){

//假如 下面的 依赖文件 上面没写, 则 根据 路径 来找
//如 router 假如 ,找的只是js文件
require(['jquery','router'],function($,router){
// home.fn1();
});

========================
home.js

define(['Zepto'],function(Zepto){
console.log("home.js");
function fn1(){
$('html').css({
'background':'#000'
});
}
function fn2(){
$('body').html("hello AMD");
}

//多个方法 ,通过 obj返回
return {
    fn1:fn1,
    fn2:fn2
}

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容