Backbone.js 如何将主干中的名称空间与RequireJs一起使用

Backbone.js 如何将主干中的名称空间与RequireJs一起使用,backbone.js,namespaces,requirejs,Backbone.js,Namespaces,Requirejs,我不确定如何在模块化(RequireJs)主干环境中使用名称空间 我想了一下它的样子,但我完全不确定这是不是正确的方法 app.js(由main.js执行) messages.js define('MessageModel', ['underscore', 'backbone', 'App'], function(_, Backbone, App){ App.Message.Model; // registering the Message namespace with the Mode

我不确定如何在模块化(RequireJs)主干环境中使用名称空间

我想了一下它的样子,但我完全不确定这是不是正确的方法

app.js(由main.js执行)

messages.js

define('MessageModel', ['underscore', 'backbone', 'App'], function(_, Backbone, App){
    App.Message.Model; // registering the Message namespace with the Model class

    App.Message.Model = Backbone.Model.extend({
        // the backbone stuff
    });

    return App;
});

这是正确的方法还是我完全走错了路(如果是,请纠正我!)

看看TODO主干网+requireJs示例:


发现了一个使用名称空间的真实示例应用程序,如开始文章中所述:


只需在接下来的几天进行测试

我是主干网新手,但只需阅读requirejs文档中的一个片段即可

模块与传统脚本文件的不同之处在于,它定义了一个范围良好的对象,以避免污染全局命名空间。它可以显式地列出其依赖项,并在不需要引用全局对象的情况下获取这些依赖项的句柄,而是将依赖项作为定义模块的函数的参数接收。RequireJS中的模块是模块模式的扩展,其优点是不需要全局引用其他模块

对我来说,这听起来好像在使用requirejs时,您可以完全忘记名称空间,因为requirejs会处理它。你只需要以不同的方式访问它。当您想从另一个模块访问它时,您应该在依赖项数组中放置一个文件路径,并向下面的函数提供相应的变量

define(["folder/a-script", "folder/another-script"], function(AScript, AnotherScript) {
        // In here the scripts are loaded and can be used, but are called by
        // their relative name in the anonymous function.
    }
);

无论如何,在某些情况下,可能仍然需要为某些内容命名名称空间,但我认为一般来说,如果需要的话,值得一看。

您好,我已经浏览了代码。这就是我目前使用RequireJs的方式,但我错过了名称空间(总是有另一个变量不是“全局”变量)链接不再起作用:(知道从哪里检索资源吗?糟糕的答案,提供真实的内容-不仅仅是外部链接这是一个简单的RequireJS用户,所有名称空间都是本地的。问题是如何共享全局名称空间。。。
define(["folder/a-script", "folder/another-script"], function(AScript, AnotherScript) {
        // In here the scripts are loaded and can be used, but are called by
        // their relative name in the anonymous function.
    }
);