是否可以在不运行服务器的情况下像使用 PHP 文件一样使用 Node.js?

Ale*_*ass 5 javascript php nginx node.js

我现在正在使用 Node.js,并且喜欢我如何使用我的前端知识来创建服务器端应用程序。然而,我喜欢 PHP 的一点是你可以只发布或执行/打开一个文件,它由服务器自动运行。我不喜欢 PHP 的一点是它的语法和速度——我想将 Node.js 和 Javascript 用于我所有的服务器端功能(例如计费脚本或注册脚本)。

那么...有没有一种方法可以像使用 PHP 脚本一样运行 Node.js 应用程序,我的意思是无需创建一个持续运行的服务器,并且不必在终端中为每个应用程序运行“node app.js”脚本?就像......有什么我可以写的 nginx 东西来完成这项工作吗?我也不想在 Node.js 服务器上运行整个站点。

Ray*_*ins 3

Node.js 不是服务器。您可以使用 ExpressJS 等模块使用 Node.js 创建服务器。但 Node.js 是一个用于在浏览器之外评估和运行 Javascript 的运行时环境。

因此,这意味着,如果您有一个包含一行的 hello.js 文件:

console.log("Hello World");
Run Code Online (Sandbox Code Playgroud)

然后跑了

node hello.js
Run Code Online (Sandbox Code Playgroud)

在与脚本相同的目录中的命令行中,您将看到“Hello World”。并且节点进程将退出。根本没有“服务器”运行。

===================

编辑:

或者,我误解了你的问题,你想使用 Apache 运行 Node js 脚本,就像 Apache 执行 php 脚本一样。在这种情况下,您需要一个 Apache 的节点模块,例如http://larsjung.de/node-cgi/

也就是说,您仍然有一个正在运行的“服务器”,它只是 Apache 而不是 ExpressJS 节点服务器。