require.js的简单使用
2016-06-01 22:34
330 查看
<script src="js/require.js"></script>
<script src="js/require.js" data-main="js/main"></script>
require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){
// some code here
});
使用require.config()方法,我们可以对模块的加载行为进行自定义。require.config()就写在主模块(main.js)的头部。参数就是一个对象,这个对象的paths属性指定各个模块的加载路径。
require.config({
paths: {
"jquery": "jquery.min",
"underscore": "underscore.min",
"backbone": "backbone.min"
}
});
require.config({
baseUrl: "js/lib",
paths: {
"jquery": "jquery.min",
"underscore": "underscore.min",
"backbone": "backbone.min"
}
});
require.config({
paths: {
"jquery": "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min"
}
});
假定现在有一个math.js文件,它定义了一个math模块。那么,math.js就要这样写:
// math.js
define(function (){
var add = function (x,y){
return x+y;
};
return {
add: add
};
});
加载方法如下:
// main.js
require(['math'], function (math){
alert(math.add(1,1));
});
如果这个模块还依赖其他模块,那么define()函数的第一个参数,必须是一个数组,指明该模块的依赖性。
define(['myLib'], function(myLib){
function foo(){
myLib.doSomething();
}
return {
foo : foo
};
});
当require()函数加载上面这个模块的时候,就会先加载myLib.js文件。
<script src="js/require.js" data-main="js/main"></script>
require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){
// some code here
});
使用require.config()方法,我们可以对模块的加载行为进行自定义。require.config()就写在主模块(main.js)的头部。参数就是一个对象,这个对象的paths属性指定各个模块的加载路径。
require.config({
paths: {
"jquery": "jquery.min",
"underscore": "underscore.min",
"backbone": "backbone.min"
}
});
require.config({
baseUrl: "js/lib",
paths: {
"jquery": "jquery.min",
"underscore": "underscore.min",
"backbone": "backbone.min"
}
});
require.config({
paths: {
"jquery": "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min"
}
});
假定现在有一个math.js文件,它定义了一个math模块。那么,math.js就要这样写:
// math.js
define(function (){
var add = function (x,y){
return x+y;
};
return {
add: add
};
});
加载方法如下:
// main.js
require(['math'], function (math){
alert(math.add(1,1));
});
如果这个模块还依赖其他模块,那么define()函数的第一个参数,必须是一个数组,指明该模块的依赖性。
define(['myLib'], function(myLib){
function foo(){
myLib.doSomething();
}
return {
foo : foo
};
});
当require()函数加载上面这个模块的时候,就会先加载myLib.js文件。
相关文章推荐
- UI更新的方法和在非UI线程里面,怎么更新UI信息。细细的
- Android编译时出现aapt.exe finished with non-zero exit value 1错误的解决方法
- 【解决】关于sscom不能保存当前窗口到文本文件的问题
- building workspace has encountered
- stl容器区别: vector list deque set map及底层实现
- UITableView的分割线长短的控制
- CodeForces 587E Duff as a Queen (线段树+线性基)
- jQueery-基础选择器
- 接口调用,输出结果为Json格式(ConvertTo-Json),提交参数给URL(WebRequest)
- 修改 Semantic UI 的默认字体
- Android Activity runonUiThread
- Poj2749 Building Roads
- UI进阶 FMDB
- 实在没想到系列——HashMap实现底层细节之keySet,values,entrySet的一个底层实现细节
- iOS——UICollectionView
- <GPS> Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics
- UI(base)--android
- 更新UI 2种方法
- LeetCode-347.Top K Frequent Elements
- getParamValues()