3

我正在运行一个 node.js 服务器,它可以很好地呈现一个网页。当我在浏览器中查看它时,它完全按照我的预期运行。

但是,我真正想要做的是在 node.js 代码中调用以完全生成 html 页面 - 就像它在浏览器中一样 - 作为调用。目前,我已经尝试过这个:

http.request("http://localhost:8000/").end();

(有几个变种)。这正是它所说的,即对页面的服务器进行单一调用 - 它没有实际呈现页面,拉入所有其他脚本文件,并在页面上运行代码。

我曾尝试探索 express 和 ejs,我认为我需要使用其中之一,但我不知道如何完成这项相当简单的任务。它所需要的只是渲染一个 html 页面,但它似乎比它应该的要复杂得多。

4

3 回答 3

1

你想要什么输出?一串HTML?也许您希望 PhantomJS 成为无头浏览器。您可以使用它来呈现页面,然后将呈现的 DOM 作为 HTML 字符串获取。

于 2013-08-29T22:54:49.100 回答
0

捕获响应后,使用 Mikeal 的请求模块发出 http 请求,然后您可以随意检查 html。

尽管您应该使用cheerio ,但为了使这更容易,这将为您提供一个jQuery 样式的api 来操作html。

于 2013-08-29T17:34:50.503 回答
0

也许您正在寻找wkhtmltopdf

简而言之,它将整个网页(包括图像和 JavaScript)呈现为 PDF 文档。

于 2013-08-29T17:39:51.843 回答