我正在M*EAN Stack (MySQL)下开始一个新项目,并且想知道如何构建它,我将使用John Papa的Angular项目风格指南,尽管它非常酷,特别是对于LIFT原则。
什么是制造一点麻烦是Express,它有它自己的MVC结构,它可以处理路由,模型,视图等…但是我想用Angular来处理这个问题,我希望Express只是一个RESTful API。
我一直在考虑使用的文件夹结构是:
├── node_modules
├── app
│ ├── client
│ │ ├── app.module.js
│ │ ├── app.config.js
│ │ ├── users
| │ │ ├── users.module.js
| │ │ ├── users.config.js
| | | ├── admins.view.html
| | | ├── admins.controller.js
| | | ├── registered.view.html
| | | ├── registered.controller.js
| | | ├── guests.view.html
| | | ├── guests.controller.js
| | | ├── profile.directive.html
| | | ├── profile.controller.js
| | │ └── users.routes.js
│ │ ├── questions
| │ │ ├── questions.module.js
| │ │ ├── questions.config.js
| | | ├── list.view.html
| | | ├── list.controller.js
| | | ├── ask.view.html
| | | ├── ask.controller.js
| | | ├── detail.view.html
| | | ├── detail.controller.js
| | │ └── questions.routes.js
│ │ └──
│ ├── server
│ | └── ?
│ └── libs
| ├── angular
| ├── bootstrap
│ └── jquery
|
|
└── server.js
但实际上我很确定,如果像这样工作,我真的需要一个可扩展的结构,应用程序是相当大的!我的一些问题是:
- 如果我想分割节点(Express)服务器配置以能够扩展该怎么办?什么是合适的文件夹结构呢?
- 客户端和服务器文件夹在应用程序中意味着什么(我从我看到的Express的一些结构中拿走了它们)?
- 如果我使用Angular, Express是用来干什么的?
注意:我没有包括文件夹和文件的bower, gulp, grunt,或类似的东西,我想保持它尽可能干净,我知道他们简化了很多事情,但我不想现在使用它们,当然,如果有人有一个伟大的论点使用它们,请告诉我。
我按照express Code structure中的描述构建我的express apps。我认为你在app/client
下的分组看起来不错你可以将其镜像到应用程序的快速服务器端部分