这两天在学习RequireJS的模块化管理,阅读了很多示例代码。
RequireJS主要是在页面中通过标签的data-main属性,统一配置其他JS文件模块的加载,从而实现按顺序控制JS模块的加载,以及依赖关系。
想问,RequireJS的模块化管理,仅仅是针对单个页面吗?也就是说,在每个页面的模块引入都要写一套Require.config()配置?是这样吗?
以下,是我自己写的一个简单案例:
/** 文件目录 **/
+ - app.html
|
+ - main.js
|
+ - script
|
+ - a.js
|
+ - b.js
|
+ - jquery.min.js
|
+ - angular.min.js
//a.js
define({
name : 'William'
});
//b.js
define(['a'],function(a){
return {
sayHello : function(){
console.info('hello,my name is' + a.name);
}
}
})
//main.js
require.config({
baseUrl : 'script',
paths : {
'a' : 'a',
'jquery' : 'jquery.min',
'angular': 'angular.min'
},
shim : {
angular : {
exports : 'angular'
}
}
});
require(['b','a','jquery','angular'],function(b,a,$,angular){
//测试代码
b.sayHello();
console.info("name:" + a.name);
$(document).ready(function(){
console.info('jquery is ready');
});
try{
angular.module('testModule',[]);
}catch(e){
console.error(e.message);
}
});
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
每个页面确实要引用,但是可以将
require.config配置的内容也放进一个单独的文件中见例子https://github.com/requirejs/...
配合r.js可以达到,只写一套。http://www.cnblogs.com/smartXiang/p/6487192.html