2015-09-04 71 views
0

在我的Meteor項目中,我終於「做了正確的事情」,並將我的代碼從默認的單個.html和.css和.js(帶有「.isClient」和「.isServer」塊)文件分解爲單獨的文件在項目結構是這樣的(我的項目的名稱是「計劃」):Routing和MongoDB Collection代碼應該放在Meteor項目中?

Scheduler 
     Client (folder) 
      main.html (moved the two templates from scheduler.html for the "first page" here) 
      main.js (moved the .isClient code from scheduler.js here) 
      Templates (folder) 
       openExistingSchedule.html (contains a template; will add more later, as the project grows) 
     Server (folder) 
      scheduler.js (moved the .isServer code here) 

但我應該在哪裏把屬於既不在「客戶端」,也不是「服務器」的代碼?具體來說,鐵路由器代碼,如:

Router.route('/platypus'); 

...和MongoDB這樣的代碼:

Playtpus = new MongoDB.Collection('platypus'); 

如果這走了 「公共」 文件夾中的.js文件,還是......? ?

回答

1

iirc你正在使用鐵路由器。在您開始創建REST端點​​之前,您可以將您的路由器代碼保留在/客戶端之下。您的集合定義代碼(new MongoDB...)需要在/lib之下,以供客戶端和服務器使用。

2

取決於您的路由器。例如,使用kadirahq:flow-router,如果用作僅客戶端路由器,則應該在client/中進行。快速渲染的支持,它應該在lib

裝載的基本規則:

  • 任何東西clientpublic將被加載到客戶端,而不是服務器。

  • serverprivate中的任何內容都將只加載到服務器中。

  • lib什麼東西都可以被加載到客戶端和服務器FIRST

  • 任何在任何其他文件夾將被加載到客戶端和服務器。

一般來說,你想把它放在lib,所以它首先加載。

相關問題