2
工作app.js木偶AppRouter不Browserify
module.exports = function() {
if (!window.__medicineManager) {
var Backbone = require('backbone');
var Marionette = require('backbone.marionette');
var MedicineManager = new Marionette.Application();
MedicineManager.addRegions({
mainRegion: "#main-region"
});
MedicineManager.navigate = function (route, options) {
options || (options = {});
Backbone.history.navigate(route, options);
};
MedicineManager.getCurrentRoute = function() {
return Backbone.history.fragment;
};
MedicineManager.on("start", function() {
if (Backbone.history) {
Backbone.history.start();
}
});
MedicineManager.start();
window.__medicineManager = MedicineManager;
}
return window.__medicineManager;
}();
medicine_app.js
var MedicineManager = require('app');
var Backbone = require('backbone');
var Marionette = require('backbone.marionette');
MedicineManager.module("MedicineApp", function (MedicineApp) {
MedicineApp.Router = Marionette.AppRouter.extend({
appRoutes: {
"": "showSearchOption",
"show/*id": "showMedicine"
}
});
var API = {
showSearchOption: function() {
console.log('show search option');
},
showMedicine: function (id) {
console.log('show ' + id);
}
};
MedicineManager.addInitializer(function() {
console.log('MedicineApp.Router initialised');
new MedicineApp.Router({
controller: API
});
});
});
我知道木偶模块已过时,所以请忽略,因为我仍在测试Browserify。
问题是"": "showSearchOption"
路由没有被触发。
我的问题被提及在Marionette.AppRouter as Backbone.Router 我无法理解如何解决它?
编辑:
我觉得是,骨干实例木偶内部使用不同于我所得到的,当我require('backbone')
。
对此问题的任何建议?
你确定Backbone.history.start()被调用吗? –
你是什么意思'木偶模块已弃用'? – Kevin