Require.JS + Backbone +“Crockfords”模型模式

时间:2012-11-07 15:46:11

标签: requirejs

条件:

1)我们有一堆使用以下模式的遗留代码:

base.js

var Base = function(config) {
    var that={};
    that.doThing1=function(){};
    that.doThing2=function(){};
    return that;
}

child.js

var Child = function(config) {
    var that=Base;
    that.doStuff1=function(){that.doThing1();};
    that.doThing2=function(){};
    return that;
}

2)关于这一点最重要的一点是它是遗留代码,而且很多,所以重构一切以使用不同的模式现在完全是不可能的。< / p>

3)我正在尝试使用require.js作为当前项目,沿着w / backbone,因此有子类,我想要求“Base”依赖。

这就是我现在的位置,但它不起作用:

require('Base'), function(Base) {
    var Child = function(config) {
        var that=Base;
        that.doStuff1=function(){that.doThing1();};
        that.doThing2=function(){};
        return that;
    }
    return Child;
}

问题(S):

如何设置这个模式,以便我可以在它周围包含一个require()来抓取遗留的依赖关系asynch,这样我就可以将()Child输入到骨干类中?

1 个答案:

答案 0 :(得分:2)

好的,这似乎就是这么做的。扔给我的是 - 在base.js中注意到类的名称不在那里。相反,我在require.config()中命名它。

base.js

define(function() {
    return function(config) {
        var that={};
        that.doThing1=function(){};
        that.doThing2=function(){};
        return that;
    };
});

child.js

define(['Base'], function(Base) {
    return function(config) {
        var that=Base(config);
        that.doStuff1=function(){that.doThing1();};
        that.doThing2=function(){};
        return that;
    };
});