从 html 文件执行 Nodejs 脚本

Execute Nodejs script from html file

我想从 html 文件执行 nodejs 脚本。 我正在尝试 browserify,但我收到很多错误,例如 "http.createServer is not a function".

是否有 browserify 的替代品?

除了 browserify 之外,没有其他选择可以让您完成在浏览器环境中根本不可能完成的事情……包括启动 HTTP 服务器。

无法在浏览器上启动服务器。

任何理智的浏览器都不会允许这样做,因为它会导致严重的安全漏洞和攻击。

您不能在客户端执行 node.js 脚本

实际上,这种说法并不完全正确。如果脚本仅包含浏览器和 node.js 都可以 运行、 可以以某种方式检测它 运行 所在的环境并切换的代码编写对该环境友好的代码,然后它将起作用。但是 脚本受限于它在 中 运行 所处环境的能力,因此像 http.createServer() 这样的调用将无法在浏览器中运行。它没有在浏览器中定义,而且可能永远不会。从安全角度来看,这太危险了。

可以做的是在node.js中创建服务器端API,并让浏览器通过AJAX。为您的 API 提供服务的脚本将在 node.js 中 运行ning,因此它可以做 node.js 可以做的任何事情。但是,因为该代码未 运行 浏览器中,它不会影响浏览器,除非它 returns.

我怀疑您实际上需要两个脚本 - 一个在服务器上,一个在客户端上 - 相互通信。如何设置该通信由您决定,但如果您要启动服务器以响应 AJAX 调用,那么您将需要非常注意安全性。不过,这是可行的; webmin 等应用很常见。