2015-06-26 17 views
1

當我開始流星像這樣:流星無此功能錯誤僅生產

meteor --production 

我得到了一個空白頁面,我的應用程序應該是,在我的瀏覽器控制檯以下錯誤顯示出來:

No such function: navClassName 

但是如果我正常啓動流星像這樣:

meteor 

我的應用程序運行沒有問題。

可能是什麼問題?流星模板助手是否需要在生產過程中以不同的方式加載?

相關文件: 客戶端/導航/ navigation.html:

<template name="navigation"> 
    <ul class="nav navbar-nav"> 
     <li class="{{navClassName 'home'}}"> 
      <a href="{{pathFor 'home'}}">home</a> 
     </li> 
     <li class="{{navClassName 'blog'}}"> 
      <a href="{{pathFor 'blog'}}">Blog</a> 
     </li> 
    </ul> 
</template> 

客戶端/導航/ navigation.js:

Template.navigation.helpers({ 
    'navClassName': function (route) { 
    if (Router.current()) { 
     return Router.current().route.options.navbarSelected.search(route) != -1 ? "active" : ""; 
    } 
    } 
}); 

回答

0

移動navigation.js客戶端/ lib目錄目錄或至少Template.navigation.helpers部分並修復/刪除任何其他導致錯誤的JavaScript。

我希望能詳細說明一下,但這個問題似乎與文件加載順序有關。 lib目錄中的文件首先被加載,並將幫助者移到那裏解決了我的問題。

典型的文件結構可以在documentation中找到。請參閱示例文件結構中的註釋以瞭解一些特殊行爲。

雖然這可能適用於您,但可以通過packages最容易地實現對依賴項的更好控制,如SO的this other answer中所述。這對於客戶端和服務器都可用的代碼來說是特別必要的。