【问题标题】:Is it good practice to run a backend and a frontend server with express in NodeJS? [closed]在 NodeJS 中使用 express 运行后端和前端服务器是一种好习惯吗? [关闭]
【发布时间】:2019-02-22 22:19:37
【问题描述】:

我目前正在开发一个简单的 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

我只在我的浏览器中直接打开前端部分 (file://.../frontend/index.html) 时使用我的 NodeJS express 服务器提供后端 API。

使用 NodeJS 为“后端 API”和前端提供服务是否是一种好习惯(例如,运行两个快速实例)以及如何组织代码?

【问题讨论】:

  • 您不需要两个 express 实例。只需使用静态中间件来提供静态文件

标签: angularjs node.js express


【解决方案1】:

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

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

通过使用express.static() 中间件的一行代码,您可以让现有的node.js 服务器也为您的所有静态HTML 文件提供服务。您不需要单独的进程来提供 HTML 文件。在超大规模的情况下,您可能会使用 NGINX 代理之类的东西来为您的静态 HTML 文件提供服务,但我认为您现在没有任何理由这样做。此时,只需让您现有的 node.js 服务器使用 express.static() 来提供您的静态文件并停止使用任何 file:// 引用。

使用 NodeJS 为“后端 API”和前端提供服务是否是一种好习惯(例如,运行两个快速实例)以及如何组织代码?

没有。您没有说明为什么需要两个 node.js 实例。只需使用一个实例来同时提供 API 和静态 HTML 文件。

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 2021-03-29
    • 2013-03-30
    • 2021-05-23
    • 2023-01-06
    • 2022-12-21
    • 2015-02-18
    • 2016-03-20
    • 1970-01-01
    相关资源
    最近更新 更多