Javascript 主干/RequireJS和多个模型

Javascript 主干/RequireJS和多个模型,javascript,backbone.js,requirejs,Javascript,Backbone.js,Requirejs,我很难把注意力集中在主要的需求上。我认为这是一项好的/必要的技术,但对我来说,实现它是一项真正的挑战。我非常感谢你的帮助 我正在尝试用主干网和RequireJS开发一个相当灵活的应用程序。问题是我完全习惯了newperson()这样的语法,而不必指定依赖项。有没有一种有效的方法可以将RequireJS用于相当多的模型?我认为我的问题总是与回报有关。我考虑使用工厂方法创建带有require函数的模型,但这样做需要require函数是同步的,这完全违背了RequireJS的目的 首先需要所有的模型,

我很难把注意力集中在主要的需求上。我认为这是一项好的/必要的技术,但对我来说,实现它是一项真正的挑战。我非常感谢你的帮助

我正在尝试用主干网和RequireJS开发一个相当灵活的应用程序。问题是我完全习惯了
newperson()
这样的语法,而不必指定依赖项。有没有一种有效的方法可以将RequireJS用于相当多的模型?我认为我的问题总是与回报有关。我考虑使用工厂方法创建带有
require
函数的模型,但这样做需要
require
函数是同步的,这完全违背了RequireJS的目的

首先需要所有的模型,然后在实例化函数中包含这些模型,这似乎是不对的——或者我需要这样做

关于如何构造和建模这样的应用程序,您有什么建议或教程吗

谢谢你帮助我


JMax

您可以使用我所说的requirejs模块模式。如果你知道一组类经常一起使用,你可以这样做

首先在一个单独的文件中定义每个类,然后定义一个模块将它们放在一起

Module.js

define([

    './models/FirstModel',
    './models/SecondModel',
    './views/FirstView',
    './views/SecondView',
    'txt!./templates/template.tpl'

], function(FirstModel, SecondModel, FirstView, SecondView, template) {

    return {
        FirstModel: FirstModel,
        SecondModel: SecondModel,
        FirstView: FirstView,
        SecondView: SecondView,
        template: template
    }

});
然后,当您想使用这个模块中的类时,只需

define(['./Module'], function(Module) {

    var AView = Module.FirstView.extend({

        model: Module.FirstModel,

        render: function() {

            this.html(_.template(Module.template)(this.model.attributes));

            if (something) {

                this.$el.append(new Module.SecondView().render().el);
            }
        }
    })

    return AView;
});
我不认为使用用requirejs定义的模块我们应该返回一个实例——我们应该总是返回一个构造函数或一个对象


你应该完全接受定义和要求-随着时间的推移,你会开始喜欢它-而不必考虑手动添加/跟踪依赖项等,或者(2005年左右!)将大部分内容放在一个文件中:)

绝对非常棒。谢谢你,伙计!我希望我能给你更多的名声。。。