2014-12-06 39 views
0

我已經將我的流星應用從0.8升級到1.0。在生產模式下升級到1.0之前它工作正常。升級後在生產模式下面臨錯誤。 正如我已經定義我的路線home.js這樣生產模式中的流星1.0中的鐵路由器錯誤

Router.map(function() { 
    this.route('home', { 
    path: '/', 
    controller: 'Controller1' 
    }); 
}); 

Controller1 = RouteController.extend({ 
    layoutTemplate: 'Layout1',  
    onAfterAction: function() { 
    setTimeout(function(){ $('#l').focus(); }, 600); 
    this.next; 
    } 
}); 

在開發模式下工作正常,但是當我運行在生產模式下的應用程序,它是給我找不到錯誤的路線。

請幫我擺脫它。提前致謝。

+1

開發模式和生產模式的含義是什麼?需要在這些模式之間切換的步驟是什麼? – JKaan 2014-12-06 10:14:22

+0

開發模式意味着我運行meteor -p 3000,在生產模式下意味着meteor -p 3000 - 生產 – Sivanand 2014-12-06 10:57:27

回答

0

我有同樣的問題像@Moshikaro :)

看看我的工作Meteorpad。

http://meteorpad.com/pad/fRzpHPYMwRGPirWAD/Routing

[編輯]

home.js應該是這樣的

Controller1 = RouteController.extend({ 
    layoutTemplate: 'Layout1', 
    name: 'home', 
    onAfterAction: function() { 
    Meteor.setTimeout(function() { 
     $('#l').focus(); 
    }, 600); 
    } 
}); 

Router.map(function() { 
    this.route('home', { 
    path: '/', 
    controller: 'Controller1' 
    }); 
}); 
+0

在開發模式下意味着我運行meteor -p 3000,在生產模式下意味着meteor -p 3000 - 生產 – Sivanand 2014-12-06 10:57:44

+0

'生產'模擬生產模式。縮小和捆綁CSS和JS文件。所以我認爲你的JavaScript在這之後無法正常工作。 你能發佈你完全錯誤日誌嗎? 您是否嘗試過我的Meteorpad解決方案? :) – Ron 2014-12-06 11:27:02

+0

是的,它沒有在控制檯中顯示任何錯誤,但在瀏覽器中,它給出了這樣的鐵路路由器錯誤:Router.route('/',function(){this.render('Home',{ data:function(){return Items.findOne({_ id:this.params._id})} }); });是的,我檢查了您的解決方案,但我沒有找到任何答案。謝謝 – Sivanand 2014-12-06 12:14:24

0

遷移到流星1.0,因此鐵後:路由器1.0,我不得不改變我的路由器。 js文件。首先,我只在onRun()和onBeforeAction()鉤子中包含this.next(),您不需要將它放在onAfterAction AFAIK中。

此外,我避免使用Router.map()了,我根據文檔定義所有的路線:https://github.com/EventedMind/iron-router

所以試圖修改這樣的代碼:

Router.route('home', function() { 
    this.render('home'); 
}, { 
    layoutTemplate: 'Layout1', 
    path: '/', 
    onAfterAction: function(){ 
    setTimeout(function(){ $('#l').focus(); }, 600); 
    } 
}); 

乾杯,