我是开发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
我怎么能设置这个结构?到目前为止我已经找到this tutorial关于模块化Express应用程序,但我想扩展它,以便我保持干燥,并利用约翰帕帕在他的“角度风格指南”中描述的LIFT principle,但是在后端。
为什么我问这个?很简单,我不想滚动大文件夹来打开文件,然后再次滚动打开另一个相关的文件,我想使用易于维护,易于理解的结构等...
如果有可能,有人可以解释如何使用此结构设置应用程序并将其上传到github的示例吗?
答案 0 :(得分:0)
将一个node_modules放在顶层。
为每个模块提供package.json
现在在你的bootstrap中编写一个脚本,找到package.json中所需的所有唯一node_modules。
在那里,node_modules解决了。确保它也识别版本的差异。
构建一个通用运行脚本文件,该文件读取指向所有其他模块的通用配置文件。
Angular 2..4..5无论模型化的文件结构如何,都可以建模。