RequireJS 2.x —— 模块的相互引用


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);
		}
	};
});



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值