在 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 快速服务器提供后端 API,同时我在浏览器中直接打开前端部分(file://.../frontend/index.html)。

使用 NodeJS 同时提供"后端 API"和前端(例如运行两个快速实例)是否是一种好的做法,我将如何组织代码?

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

这是您只能在自己的本地计算机上执行的操作。 对于其他人可以使用的常规 Web 服务器,您不能这样做。 因此,对于为互联网上的其他人设计的常规Web服务器来说,这不被认为是可行的做法。

使用中间件的一行代码express.static()您可以让现有的节点.js服务器也提供所有静态HTML文件。 您不需要单独的进程来提供 HTML 文件。 在超大规模下,你可能会使用NGINX代理之类的东西来提供静态HTML文件,但我看不出你现在有任何理由朝这个方向走。 此时,只需让现有节点.js服务器使用express.static()来提供静态文件,并停止使用任何file://引用。

使用 NodeJS 同时提供"后端 API"和前端(例如运行两个快速实例)是否是一种好的做法,我将如何组织代码?

不。 您没有说明为什么需要两个节点.js实例的理由。 只需使用一个实例即可提供 API 和静态 HTML 文件。

最新更新