我是一个开发MEAN应用程序的新手,我来自Laravel结构来开发web应用程序,我不喜欢Laravel的地方是它不是那么模块化,所有东西都是分开的,尤其是模型,视图和控制器,在构建大型应用程序时,你必须滚动很多次才能在文件夹中导航…
我的问题是关于在MEAN堆栈下的Express,我要找的是一个结构,我为应用程序的每个实体创建模块,例如:
我有三个模块:用户, 问题和答案;每个模块将包含该特定模块的路由、模型和控制器,例如:
├── node_modules
├── src
│ ├── client
│ │ └── ... //Frontend things managed by angular (like views, etc...)
│ └── server
│ ├── modules //By module i mean an entity
| | ├── users
| | | ├── users.model.js
| | | ├── users.controller.js
| | | ├── users.routes.js
| | | └── index.js
| | ├── questions
| | └── answers
| ├── config
| └── etc... //Suggestions please...
|
├── package.json
└── server.js
我怎么能建立这样的结构?到目前为止,我已经找到了这个关于模块化Express应用程序的教程,但我想扩展它,这样我就可以保持它的DRY,并利用John Papa在他的Angular风格指南中描述的LIFT原则,但是在后端。
我为什么要问这个?简单,我不喜欢滚动通过大文件夹打开一个文件,然后再次滚动打开另一个相关的文件,我想工作的结构易于维护,易于理解等…
如果可能的话,有人可以解释一个例子,如何设置一个应用程序使用这个结构,并将其上传到github?
在顶层放置一个node_modules。
给每个模块一个package.json
现在在引导中编写一个脚本,从package.json中找到所需的所有唯一node_modules。
node_modules解决了。确保它也能识别版本的差异。
构建一个通用运行脚本文件,读取指向所有其他模块的通用配置文件。
角2 . . 4 . .