控制器应该放在Meteor App中?

时间:2015-08-03 13:45:15

标签: javascript meteor

我正在使用iron:router创建一个Meteor应用程序。根据文档,我可以创建控制器。

BaseController = RouteController.extend({
    layoutTemplate: 'mainLayout'
});

路由的配置文件现在放在/ lib文件夹中。我是否还应将控制器放在同一文件夹内或更好地放在客户端内?

据我所知,该集合的集合初始化和方法应放在lib文件夹中。

有人可以解释我的流星应用程序结构应该是什么样子吗?我已经阅读了Meteor文档中的最佳实践,但只有一般提示。

2 个答案:

答案 0 :(得分:1)

您应将控制器放在/lib/文件夹中。这使它可供客户端和服务器使用。

基本上,您可以在Meteor中创建自己的文件结构。只需遵循某种规则即使事情失控,也不难移动/重命名文件。我没有发现任何人推荐任何“硬”规则。

在我的情况下,我将所有路由器文件放在/lib/router/中,而控制器将位于/lib/router/controllers/中。因此,HomeController会放在/lib/router/controllers/home.js中。

答案 1 :(得分:1)

我不确定这是否有“最佳实践”。我个人喜欢按目标分隔我的代码。所以我有一个

/client /server /lib /public

设置。只应在服务器上运行的东西(例如你的DAL)进入服务器文件夹,然后通过其功能分成子文件夹。运行客户端和服务器端的东西(例如路由器)进入lib文件夹(好处是Meteor查找此文件夹并在客户端/服务器文件夹之前加载)。 CSS等静态文件位于公用文件夹中。在上面的示例中,控制器是lib文件夹的子文件夹。

这当然是个人偏好,但对我的肌肉记忆效果很好。将有兴趣了解其他人如何构建他们的项目。