认识 requirejs
June 18, 2015 | 2 Minute Read
前要
理解 AMD(Asynchronous Module Definition) 规范定义
概述
RequireJS是一个工具库,主要用于客户端的模块管理。它可以让客户端的代码分成一个个模块,实现异步或动态加载,从而提高代码的性能和可维护性。它的模块管理遵守AMD规范(Asynchronous Module Definition)。
RequireJS的基本思想是,通过define方法,将代码定义为模块;通过require方法,实现代码的模块加载。
define方法:定义模块
1.独立模块
另一种等价的写法是,把对象写成一个函数,该函数的返回值就是输出的模块。自由度更高一点,可以在函数体内写一些模块初始化代码。
2.非独立模块
如果被定义的模块需要依赖其他模块,则define方法必须采用下面的格式。必须返回一个对象,供其他模块调用
如果依赖的模块很多,RequireJS提供一种更简单的写法。
一个实际的例子是,通过判断浏览器是否为IE,而选择加载zepto或jQuery。
require方法:调用模块
require方法用于调用模块。它的参数与define方法类似。
require 可以在define中使用,见上面非独立模块的定义。
如果服务器端采用JSONP模式,则可以直接在require中调用,方法是指定JSONP的callback参数为define。
require方法允许添加第三个参数,即错误处理的回调函数。
equire对象还允许指定一个全局性的Error事件的监听函数。所有没有被上面的方法捕获的错误,都会被触发这个监听函数。
配置require.js:config方法
CONFIGURATION OPTIONS
插件
LOADER PLUGINS
优化器r.js
REQUIREJS OPTIMIZER
Resource
- 官网 requirejs
- RequireJS和AMD规范