在NodeJS中使用express来运行后端和前端服务器是不是很好的做法?

我目前正在一个简单的NodeJS / AngularJS应用程序和我目前的项目看起来像这样:

/frontend/index.html <-- AngularJS home page /frontend/js/app.js <-- AngularJS app.js /backend/package.json<-- NodeJS package.json /backend/index.js <-- NodeJS script 

而我只用我的NodeJS express server来服务后端API,而在浏览器中直接打开前端部分(file://…/frontend/index.html)。

使用NodeJS服务“后端API”和前端(例如,运行两个快速实例)是否是好的做法,以及如何组织代码?

而我在浏览器中直接打开前端部分(file://…/frontend/index.html)。

这是你只能在自己的本地计算机上做的事情。 对于其他人可以使用的常规Web服务器,您无法做到这一点。 所以,这对于为互联网上的其他人devise的常规networking服务器而言并不被认为是可行的做法。

通过使用express.static()中间件的一行代码,您可以让现有的node.js服务器也为您的所有静态HTML文件提供服务。 您不需要单独的过程来提供HTML文件。 在超大规模的情况下,你可能会使用类似NGINX的代理服务器来为你的静态HTML文件提供服务,但是现在看不出有什么理由让你朝这个方向发展。 在这一点上,只要你现有的node.js服务器使用express.static()来为你的静态文件提供服务并停止使用任何file://引用。

使用NodeJS服务“后端API”和前端(例如,运行两个快速实例)是否是好的做法,以及如何组织代码?

不,你没有说明你为什么需要两个node.js实例。 只需使用一个实例即可提供API和静态HTML文件。