我目前正在开发一个简单的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服务器上提供后端API,而我在浏览器中直接打开前端部分(file://.../frontend/index.html)。
使用NodeJS同时提供“后端API”和前端(例如,运行两个快速实例)以及如何组织代码是不错的做法?
答案 0 :(得分:1)
我在浏览器中直接打开前端部分(file://.../frontend/index.html)。
这是您只能在自己的本地计算机上执行的操作。您不能为其他人可以使用的常规Web服务器执行此操作。因此,对于为互联网上的其他人设计的常规Web服务器而言,这不被认为是可行的做法。
使用express.static()
中间件的一行代码,您可以让现有的node.js服务器也提供所有静态HTML文件。您不需要单独的过程来提供HTML文件。在超大规模的情况下,您可能会使用像NGINX代理这样的东西来提供静态HTML文件,但我现在没有理由让您朝着这个方向前进。此时,只需让现有的node.js服务器使用express.static()
来提供静态文件并停止使用任何file://
引用。
同时提供&#34; Backend API&#34;是一种好的做法。和NodeJS的前端(例如运行两个快速实例)以及如何组织代码?
没有。您没有说明您需要两个node.js实例的原因。只需使用一个实例来提供API和静态HTML文件。