1

我正在尝试使用主干、木偶和咖啡脚本制作多页应用程序。

应用程序/home.coffee

define [
    'App'
    './index/index'
],
(App, HomeIndex) ->
    class HomeApp extends App
        constructor : () ->
            super
            console.log typeof HomeIndex #return object
            @homeIndex = new HomeIndex() #TypeError: HomeIndex is not a constructor
            @initialize()

        initialize: ->
            console.log 'app initialize'
            App.contentArea.show homeIndex

应用程序/home/index/index.coffee

define [],
()->
    class HomeIndex extends Backbone.Marionette.Layout
        template: '<div>Hello, Backbone! </div>'

        constructor: () ->
            console.log '!'

        initialize: (options) ->
            @template = _.template @template
            console.log "Home Index initialized"

        render: () =>
            @$el.html @template

我无法初始化 HomeIndex,有人知道我做错了什么吗?

请指教

更新 :

 define [
        'App'
        'apps/home/index/index'
    ],

但仍然 typeof HomeIndex 返回对象,而不是函数。

4

1 回答 1

0

首先,当你遇到这样的问题时,检查 Requirejs 加载的文件。您可能已经看到这./index/index不是您所期望的,或者根本没有加载。

AMD基本上不支持相对链接。仅相对于baseUrl.

于 2013-10-15T14:20:00.440 回答