RequireJS 是一个JavaScript模块加载器。它很是适合在浏览器中使用。使用RequireJS加载模块化脚本将提升代码的加载速度和质量。javascript
兼容性html
优势java
实现js文件的异步加载,避免网页失去响应jquery
管理模块之间的依赖性,便于代码的编写和维护数组
快速上手浏览器
1、引入require.jsapp
2、require.config是用来配置模块加载位置异步
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="require.js"></script> <script type="text/javascript"> require.config({ paths : { "jquery" : ["http://vs.thsi.cn/js/jquery-1.7.2.min", "js/jquery"], "a" : "js/a" } }); require(["jquery", "a"], function(){ alert("load finished"); }); </script> </head> <body> body </body> </html>
原文来自:关于RequireJS的简单介绍即便用方法 http://www.jb51.net/article/95191.htm模块化
Require.js的基本用法详解 http://www.jb51.net/article/117676.htm函数
requireJS API的三个主要函数:define(建立模块),require(加载模块),config(配置)
一、对模块的路径等进行配置
使用require.config()方法,能够对模块的加载行为进行自定义。在多页面应用中,能够将配置写在共用的文件中,如本例中的common.js文件,而后各个页面加载当前配置后,在回调函数中再加载各自须要的模块。
common.js代码为:
require.config({ baseUrl: '/scripts/lib', shim:{ zepto: { exports: '$' }, backbone: { deps: ['underscore', 'zepto'], exports: 'Backbone' }, 'zepto.animate': ['zepto'] } });
支持的配置项:
baseUrl :
全部模块的查找根路径。注意:当加载的js文件(以.js结尾、以”/”开头、含有协议),不会使用baseUrl;
paths :
path映射那些不直接放置于baseUrl下的模块名。设置path时起始位置是相对于baseUrl的,除非该path设置以"/"开头或含有URL协议;
注意:在paths中定义的路径不能含有.js后缀,由于路径解析机制会自动添加上.js后缀;并且加载路径能够设置多个,如从CDN加载失败,则加载本地js文件;
shim:
为那些没有使用define()来声明依赖关系的模块进行配置;
其中须要注意两个参数:
(1)exports值(输出的变量名),暴露方法接口
(2)deps数组,代表该模块的依赖性
二、模块的加载
page1.js代码以下:
require(['./common'], function (common) { require(['sayPage1'], function (sayPage1) { sayPage1.hello(); }); });
三、模块的定义
sayPage1.js中的代码:
define(['jquery'], function($) { function sayHi(){ $('body').append('<h1>Hello page1!</h1>'); } return { hello: sayHi } });
define函数也接受两个参数。第一个参数为所依赖模块组成的数组,第二个参数是一个回调函数。
原文来自:RequireJS多页面应用实例分析 http://www.jb51.net/article/87612.htm
requireJS使用指南 http://www.jb51.net/article/83116.htm