关于node.js:一个项目中的Web API和Web应用程序与单独项目中的Web API和Web应用程序

Web API and web application in one project vs separate projects

我对服务器,Web API和Web应用程序的概念完全陌生。我有一个项目,需要设计一个Web API,该Web API允许客户端修改数据库(通过API从客户端隐藏)。

还有一个具有某些功能的Web应用程序。 Web应用程序还必须与数据库进行交互。

所以我的问题是,我应该在同一个项目中还是在两个不同的项目中开发Web API(服务器)和Web应用程序?

出于学习目的,我选择使用均值堆栈来实现系统。 Mean代表MongoDB,ExpressJS,Angular和NodeJS。由于Mean堆栈包含用于开发API和Web应用程序的技术,我是否应该在一个项目中开发所有代码并将其部署在服务器中,或者将Web API和Web应用程序分为两个项目?

如果取决于场景,那么我应该选择哪种场景,它们的优缺点是什么?


简而言之,Web API是您在Web应用程序中使用的后端,它是服务,而Web应用程序是您在浏览器中看到的前端,它是网站。

您可以在github上创建一个仓库,但是服务器端和客户端项目是分开的。

您可以根据项目目的选择服务器端和客户端项目的结构。如果要创建Web应用程序,然后再开发移动应用程序(例如,使用ionic),则应单独创建Web API。如果要仅创建Web应用程序并将Web应用程序和Web API部署到相同的服务(如heroku),则可以采用与heroku示例(https://devcenter.heroku.com/articles)相同的结构/ mean-apps-restful-api,还请检查此示例的仓库https://github.com/chrisckchang/mean-contactlist-angular2)。