Node JS - MVC - 命名约定

时间:2016-06-02 08:58:50

标签: javascript node.js model-view-controller koa

我通常按如下方式设置应用程序结构:

+----my_awesome_nodejs_app
|    +----app
|    |    +----app.js
|    |    +----node_modules
|    |    +----tomatoes
|    |    |    +----tomatoes.controller.js
|    |    |    +----tomatoes.helper.js
|    |    |    +----tomatoes.model.js
|    |    |    +----tomatoes.route.js
|    |    +----views
|    |    |    +----tomatoes.pug
|    +----public
|    |    +----tomatoes
|    |    |    +----tomatoes.css
|    |    |    +----tomatoes.js
|    +----spec
|    |    +----tomatoes.spec.js

我赞成命名约定以匹配前端的约定(例如example.com/tomatoes) - 因为我认为这样可以更容易地支持长期(尽管可能有更好的方法)

说 - 如果说,我决定将tomatoes更改为sausages - 我需要相应更新我的所有测试,目录名称,文件名和注释(更不用说特定于页面的CSS或JS)。

这是我在接受这样的行动时需要接受和考虑的因素,还是有另一种(更好的)方法可以做到这一点以获得更大的灵活性?

1 个答案:

答案 0 :(得分:1)

如果不过度设计解决方案,很难摆脱必须在所有相关文件中执行更改。

可以提供帮助的是将组件/模块/部件的所有相关文件放在同一文件夹中,请参阅Relational Structure in this blog post for more information

在我看来,关系结构使得更大的项目更容易处理,因为你在同一个地方找到了所有相关资源,而不必搜索分散在项目周围的文件来进行更改。