test.html文件内容
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://www.domaintrade.com/requirejs/assets/global/js/require-debug.js"></script>
</head>
<body>
<script type="text/javascript">
//配置基本信息
require.config({
baseUrl: "http://www.domaintrade.com/requirejs/assets/",
paths: {
"jquery": "global/js/jquery-1.8.3",
}
});
// 使用模块,链式调用
// require是异步调用,是加载完成依赖,再调用回调
// require放在define方法中的时候,并不能保证模块“exports的方法”是有效的
// 在define中要“exports方法”的时候,不要使用require去引用依赖,而是在模块前直接声明依赖
require(["modules/module1/define"], function(module1) {
module1.console('modules/module1/define');
})
(["modules/module2/define"], function(module2) {
module2.console1('link invoke1 modules/module2/define');
module2.console2('link invoke2 modules/module2/define');
module2.console3('link invoke3 modules/module2/define');
})
</script>
</body>
</html>
module1\define.js文件内容
// 声明依赖,会即可加载module2
define(['jquery','modules/module2/define'],function(jquery,module2) {
console.log('loaded module 1...');
module2.console1('invoke module2 console1');
module2.console2('invoke module2 console2');
module2.console3('invoke module2 console3');
return {
console : function(str){
console.log(str);
}
};
});
module2\define.js文件内容
// 声明依赖,会即可加载module3
define(['modules/module3/define','require','exports','module'],function(module3,require,exports,module) {
console.log('loaded module 2 begain...');
console.log('bing module3 mehtod ...');
exports.console1 = module3.console;
exports.console2 = module3.console;
exports.console3 = module3.console;
console.log('loaded module 2 end...');
});
module3\define.js文件内容
// 标准的模块化写法,前面不能声明依赖
define(function(require,exports,module) {
console.log('loaded module 3...');
module.exports = {
console : function(str){
console.log(str);
}
};
});