Backbone.js 如何在多个项目中使用一组通用的require.config值
是否有一种方法可以提供一些公共值,以便对依赖于公共项目的不同项目的require.config进行设置?公共项目基本上包含项目可能使用的所有第三方LIB和自定义小部件 我有3个项目Proj1、Proj2、Proj3。他们使用的通用模块称为“shell”。我有一组require.config路径和一些路由器配置代码,它们三个都使用Backbone.js 如何在多个项目中使用一组通用的require.config值,backbone.js,requirejs,Backbone.js,Requirejs,是否有一种方法可以提供一些公共值,以便对依赖于公共项目的不同项目的require.config进行设置?公共项目基本上包含项目可能使用的所有第三方LIB和自定义小部件 我有3个项目Proj1、Proj2、Proj3。他们使用的通用模块称为“shell”。我有一组require.config路径和一些路由器配置代码,它们三个都使用 require.config({ baseUrl:'parentFolder/', paths:{ /* Third party li
require.config({
baseUrl:'parentFolder/',
paths:{
/* Third party libs */
jquery:'shell/lib/jquery/jquery-1.7.1',
json2: 'shell/lib/json/json2',
underscore:'shell/lib/underscore/underscore',
backbone:'shell/lib/backbone/backbone',
handlebars:'shell/lib/handlebars/handlebars',
/* Routers */
externalRouter:'shell/common/util/externalRouter',
/* My custom widgets */
datePicker:'shell/common/widget/datePicker',
treeView:'shell/common/widget/TreeView',
videoPlayer:'shell/common/widget/VideoPlayer',
}
});
我希望在一个位置维护上述配置代码,并希望3个项目在其自己的require.config中使用它,并能够添加新的配置参数
如何实现这一点?这可以通过多种方式实现,但最简单的可能是利用这样一个事实,即RequireJS允许您在加载
require.js
之前将配置对象定义为名为require
的全局变量,并在启动时自动应用这些值
因此,将您的公共配置放在一个普通javascript源文件中,如下所示:
//common-config.js
require = {
baseUrl:'parentFolder/',
paths:{
jquery:'shell/lib/jquery/jquery-1.7.1',
}
};
并将其包含在页面的require.js之前:
<script src="common-config.js"></script>
<script src="require.js" data-main="main"></script>
然后,您可以像往常一样,使用特定于应用程序的配置在主模块中再次调用require.config
。请注意,如果您定义baseUrl
选项,则将相对于该基本URL引用main
模块,因此您必须相应地调整data main
属性
此功能的文档如下所示