Node.js 在多大程度上取代了 Apache2?

To what extent does Node.js replace Apache2?

我正在更新旧软件(运行ning Apache2、PHP、MariaDB、HTML、CSS)以使用反应前端。我是 React 的新手,我在 vanilla JavaScript 的初学者和中级之间,所以我最近几天一直在研究这个。

我对 React 网络应用程序的后端感到困惑。如果我想保留前端之外的现有架构,我是否能够轻松地将我的 apache2/php 与我的 React 应用程序集成?我也对 Node.js 的作用感到困惑。有些地方将其描述为额外的库,有些地方将其描述为 Apache2 的替代品。我认为我困惑的根源在于,到目前为止,在学习 React 和 Node 时,它​​总是要求我 运行 npm start。这感觉很像 运行 像 apache 这样的服务器。

简而言之,我想我的问题是 - 使用 React 前端时,我的项目结构会是什么样子?我是否只有 javascript 个文件并将其托管在 Apache 上?或者这需要在 Node 上 运行 吗?我的 PHP 放在哪里,需要用 JS 重写吗?

编辑:进一步说明。我问的是 Node.js 服务器和 Apache2 服务器之间的区别。这就是我的问题的重点。帮助我理解问题的其他讨论要点是 PHP 和 React 如何适应所有这些,以及我对 Node 作为类 Apache 工具的理解是否正确。希望这能让这个问题不那么宽泛

为了针对现有的一组 Web 服务构建 React 应用程序:Node.js 仅在构建时使用。它用于执行生成部署在 Apache HTTP 服务器上的静态文件的构建工具。

Node.js 还用于 运行 React 应用程序的开发服务器,它会在您保存对源代码的更改时热重新加载它。


Node.js 可以 用于 运行 托管在 JavaScript 中编写的 Web 服务的 HTTP 服务器(在这种情况下它要么替换Apache 或位于 Apache 后面(配置为充当反向代理)……但这不是您的用例。