没有合适的资源?快使用搜索试试~ 我知道了~
根据阮一峰博客中的相关文章学习js模块编程的笔记,如有疏漏,敬请谅解
资源推荐
资源详情
资源评论
var module1=(function(mod){
mod.m3=function(){};
return mod;
})(module1,module2);
这是模块的写法
模块的规范两种 CommonJs 和 AMD
Common js :浏览器获取 math.js 时会处于假死状态。主要用于服务器端编程,
假定有模块文件 math.js
然后就可以用模块调用的方法了:
var math=require(‘math’);
math.add(2,3);
AMD 就是 Asynchronous Module Definition 即异步模块定义
那么其格式为 require([ module],callback);
第一个参数是要加载的模块的数组,第二个参数是加载完成之后执行的函数,因为模块的
加载和模块内容的引用是不同步的,所以不会产生 Common js 的假死现象
require([‘math’],function(){math.add(2,3);});
require.js 的写法
为什么要用 require.js 这是为了解决加载多个 js 模块带来的各种问题
加载 require.js:<script src="js/require.js" defer async="true" ></script>
defer 只有 IE 可以识别,async 是其他的可以识别,这个步骤是为了防止加载文件时网页失
去响应,还有一种方法是将这行代码写到文件的底部。
加载 main.js<script src="js/require.js" data-main="js/main"></script>
AMD 模块的写法
//math.js 文件内容 define 第一个参数是依赖的模块,可以省略,
define(['myLib'], function(myLib){
function foo(){ myLib.doSomething(); }
return { foo : foo }; });
里面的也可以写成 var add=function(){ } return{ add:add }
define 的回调函数里面必须 有 return{}这一项 里面是 嵌套的函数名和返回内容
main.js 是自己的模块的入口位置,主模块的写法如下:
require(['moduleA', 'moduleB', 'moduleC'], function (moduleA, moduleB, moduleC){
// some code here
});
函数参数是所加载模块的 exports 项目常用的对应关系如下:
jquery:$ underscore:_ backbone Backbone
require.config 的写法
这个函数写在 main.js 的头部,作用是配置所载入的模块
常用的配置项有两种五个 path,shim, bathUrl,deps,exports
paths 是模版位置一般默认是和 main 一个文件夹,如果不是需要设置
require.config({ paths: {"jquery": "lib/jquery.min",}});
可以设置 baseUrl,其一般格式如下 baseUrl:”js/lib”
资源评论
二仪式
- 粉丝: 64
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功