我通常按如下方式设置应用程序结构:
+----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)。
这是我在接受这样的行动时需要接受和考虑的因素,还是有另一种(更好的)方法可以做到这一点以获得更大的灵活性?
答案 0 :(得分:1)
如果不过度设计解决方案,很难摆脱必须在所有相关文件中执行更改。
可以提供帮助的是将组件/模块/部件的所有相关文件放在同一文件夹中,请参阅Relational Structure in this blog post for more information。
在我看来,关系结构使得更大的项目更容易处理,因为你在同一个地方找到了所有相关资源,而不必搜索分散在项目周围的文件来进行更改。