Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 如何在多个项目中使用一组通用的require.config值_Backbone.js_Requirejs - Fatal编程技术网

Backbone.js 如何在多个项目中使用一组通用的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进行设置?公共项目基本上包含项目可能使用的所有第三方LIB和自定义小部件

我有3个项目Proj1、Proj2、Proj3。他们使用的通用模块称为“shell”。我有一组require.config路径和一些路由器配置代码,它们三个都使用

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
属性

此功能的文档如下所示