Javascript 我可以使用AngularJS处理和加载我的对象吗

Javascript 我可以使用AngularJS处理和加载我的对象吗,javascript,coffeescript,angularjs,Javascript,Coffeescript,Angularjs,我在代码中使用并扩展了一些CoffeeScript类。如何使用angularjs不必创建像cruft这样的普通模块 MyNamespace = MyNamespace || {} MyNamespace.SuperClass = class 在另一个文件中 MyNamespace = MyNamespace || {} class ChildClass extends MyNamespace.SuperClass MyNamespace.ChildClass = ChildClass 我能简

我在代码中使用并扩展了一些CoffeeScript类。如何使用angularjs不必创建像cruft这样的普通模块

MyNamespace = MyNamespace || {}
MyNamespace.SuperClass = class
在另一个文件中

MyNamespace = MyNamespace || {}
class ChildClass extends MyNamespace.SuperClass
MyNamespace.ChildClass = ChildClass
我能简单地写一下吗

angular('MyModule').factory, 'SuperClass', () ->
    class SuperClass
        constructor: (@id) ->
    return SuperClass
并通过

angular('MyModule').factory, 'ChildClass', ['SuperClass', (SuperClass) ->
    class ChildClass extends SuperClass
        constructor: (id) ->
            super(id)
    return ChildClass
]

我的问题是,我使用CoffeeScript将所有对象编译成一个文件。现在,如果一个childclass在基类之上,基类将是未定义的,我将得到一个错误。我正在寻找一种优雅而简单的方法来解决这个问题。

使用Angular,您可以不用将类放在名称空间中,因为您的模块/服务的名称可以被限定并有效地用于相同的目的

我认为Angular不会有帮助的是确保超级类代码在子类代码之前运行。因此,似乎有大约8000种解决问题的方法,但没有一种是标准的——requireJs、咖啡烤面包机、早午餐、咕噜、蛋糕


我使用grunt,并指定我要使用coffeescript的顺序。

如果使用Angular的DI系统,它应该确保以正确的顺序实例化类,而不管先加载哪个。您的示例是否存在问题?

谢谢。咖啡烤面包机似乎就是我要找的。你说得对,我发现实例化只意味着周围的函数将被初始化,而不是类本身。谢谢你的提示