MEAN应用程序

时间:2015-09-11 20:24:20

标签: node.js express dry mean-stack

我是开发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的示例吗?

1 个答案:

答案 0 :(得分:0)

将一个node_modules放在顶层。

为每个模块提供package.json

现在在你的bootstrap中编写一个脚本,找到package.json中所需的所有唯一node_modules。

在那里,node_modules解决了。确保它也识别版本的差异。

构建一个通用运行脚本文件,该文件读取指向所有其他模块的通用配置文件。

Angular 2..4..5无论模型化的文件结构如何,都可以建模。