在我的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文件,或...... ???
答案 0 :(得分:2)
取决于您的路由器。例如,如果kadirahq:flow-router
用作仅客户端路由器,则应使用client/
。通过快速渲染支持,它应该进入lib
加载的基本规则:
client
或public
中的任何内容都将加载到客户端,而不是服务器。
server
或private
中的任何内容都只会加载到服务器中。
lib
中的任何内容都将加载到客户端和服务器第一个
任何其他文件夹中的任何内容都将加载到客户端和服务器上。
通常,您希望将其放在lib
中,以便首先加载。
答案 1 :(得分:1)
new MongoDB...
)需要位于 / lib 下,以供客户端和服务器使用。