路由和MongoDB集合代码应该放在Meteor项目中的哪个位置?

时间:2015-09-04 20:50:40

标签: mongodb meteor iron-router

在我的Meteor项目中,我终于"做了正确的事情"并将我的代码从默认的单个.html和.css以及.js(带有" .isClient"和#34; .isServer"阻止)文件分解为项目结构中的单独文件(我的项目名称是"计划程序"):

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)

但是我应该把代码放在" client"也不是"服务器"?具体来说,铁路由器代码如:

Router.route('/platypus');

...和MongoDB代码如:

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

这应该在" public"文件夹的.js文件,或...... ???

2 个答案:

答案 0 :(得分:2)

取决于您的路由器。例如,如果kadirahq:flow-router用作仅客户端路由器,则应使用client/。通过快速渲染支持,它应该进入lib

加载的基本规则:

  • clientpublic中的任何内容都将加载到客户端,而不是服务器。

  • serverprivate中的任何内容都只会加载到服务器中。

  • lib中的任何内容都将加载到客户端和服务器第一个

  • 任何其他文件夹中的任何内容都将加载到客户端和服务器上。

通常,您希望将其放在lib中,以便首先加载。

答案 1 :(得分:1)

你正在使用铁路由器。在您开始创建REST端点(docs)之前,您可以将路由器代码保存在 / client 下。您的集合定义代码(new MongoDB...)需要位于 / lib 下,以供客户端和服务器使用。