Javascript RequireJS中的变量依赖

Javascript RequireJS中的变量依赖,javascript,backbone.js,requirejs,amd,Javascript,Backbone.js,Requirejs,Amd,我使用RequireJS加载BackboneJS web应用程序的JavaScript模块,但目前我遇到了一个风格问题 我有两个类,它们共享很多代码,但它们都是不同类的子类 TemplateLessonView LessonView | | | | EditorA

我使用RequireJS加载BackboneJS web应用程序的JavaScript模块,但目前我遇到了一个风格问题

我有两个类,它们共享很多代码,但它们都是不同类的子类

TemplateLessonView                         LessonView
        |                                      |
        |                                      |
    EditorApp    <-- these share code -->    MainApp
TemplateLessonView LessonView
|                                      |
|                                      |
EditorApp主应用程序
现在为了保持干爽,我想
MainApp
扩展
EditorApp
,但随后
EditorApp
的依赖项被加载,并且
EditorApp
通过以下格式调用它的一些基类函数:
this.constructor.\uu super\uuuuuuuuuuuuuuuuuuuuupp

解决方案是在从
MainApp
的模块加载模块时更改EditorApp的依赖关系(因此我需要
LessonView
,但将其作为
TemplateLessonView
传递给
EditorApp


是否有人知道这样做的方法,或者有其他建议来完成我在这里尝试的工作?

解决这个问题的方法是创建一个模块,您将在两个类定义中导入该模块

诸如此类:

(...require stuff ...)
return {
    myfct1 : function(){
    },
    myfct2 : function(){
    }
}

然后你可以在需要的地方导入模块,然后像调用库一样调用你的公共代码…

如果他们共享代码,那么把它移动到一个mixin中,让两个对象共享它怎么样?正如Simon所建议的,你可能真的想从EditorApp和MainApp中提取公共代码,让他们共享这些代码(或者通过继承它,或者通过混合它,或者通过使用组合而不是继承。)如果没有类中的任何代码,很难说……你能发布一些吗?