2015-05-14 42 views
1

我是新來的木偶,我只是不能得到路由工作。Marionettejs路線

我用木偶的2.4.1版本,並試圖做到這一點可能最簡單的方式,以便它會只是工作。

此代碼適用於舊版本的木偶,V1.0.2,它被列入自耕農的發電機之一。我知道這兩個版本之間存在巨大差距,但是對於每篇文章,博客,官方文檔以及爲此框架代碼編寫的書籍都保持不變。

有控制檯沒有錯誤,但「家」的方法只是將無法啓動。

我在這裏錯過了什麼嗎?


的application.js(應用主體):

define(['backbone', 'marionette'], 

function (Backbone, Marionette) { 
    'use strict'; 

    var App = new Marionette.Application(); 


    App.Router = Marionette.AppRouter.extend({ 
     appRoutes: { 
      "home": "home" 
     } 
    }); 

    var myController = { 
     "home": function() { 
      console.log("This thing just won't work."); 
     } 
    }; 


    /* Add initializers here */ 
    App.addInitializer(function() { 
     console.log('App initialized'); 

     new App.Router({ 
      controller: myController 
     }); 
    }); 


    App.on("initialize:after", function() { 
     if (Backbone.history) { 
      Backbone.history.start(); 
     } 
    }); 

    return App; 
}); 

main.js(開始於application.js中定義了我們的應用程序):配置的需要

require(['marionette', 'application'], 

    function (Marionette, App) { 
    'use strict'; 

    App.start(); 
    }); 

config.js( .js)

require.config({ 

    baseUrl: "/scripts", 

    /* starting point for application */ 
    deps: ['marionette', 'main'], 


    shim: { 
     backbone: { 
      deps: [ 
       'underscore', 
       'jquery' 
      ], 
      exports: 'Backbone' 
     }, 
     marionette: { 
      deps: ['backbone'], 
      exports: 'Marionette' 
     } 
    }, 


    paths: { 
     backbone: '../bower_components/backbone/backbone', 
     jquery: '../bower_components/jquery/dist/jquery', 
     underscore: '../bower_components/underscore/underscore', 


     /* alias all marionette libs */ 
     'marionette': '../bower_components/marionette/lib/core/backbone.marionette', 
     'backbone.wreqr': '../bower_components/backbone.wreqr/lib/backbone.wreqr', 
     'backbone.babysitter': '../bower_components/backbone.babysitter/lib/backbone.babysitter' 
    } 

}); 

回答

0

似乎初始化:後:

App.on("initialize:after", function() { 
    if (Backbone.history) { 
     Backbone.history.start(); 
    } 
}); 

在最新版本的Marionette中不支持,我應該開始代替:

似乎
App.on("start", function() { 
    if (Backbone.history) { 
     Backbone.history.start(); 
    } 
}); 

約木偶大部分職位是相當過時。這些仍然非常有幫助,但一定要用官方框架的文檔進行驗證。

我應該在第一時間做到這一點..