微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Node.js,如何在浏览器中查看jsdom

如何解决Node.js,如何在浏览器中查看jsdom

如何在浏览器中查看html?在localhost:3000上没有任何显示

const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><body><p id="main">My First JSDOM!</p></body>`,{
    url: "http://localhost:3000/",contentType: "text/html",pretendToBeVisual: true,}
);

解决方法

从我收集到的评论中,您想在节点中的JSDOM中操作DOM,然后(也许)编写一个html文件(或在响应中返回它)

为此,请使用serialize()

https://github.com/jsdom/jsdom#serializing-the-document-with-serialize

以您的示例为例:

const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><body><p id="main">My First JSDOM!</p></body>`,{
    url: "http://localhost:3000/",contentType: "text/html",pretendToBeVisual: true,}
);

console.log(dom.serialize());

JSm将为您提供所有HTML的字符串。 然后,您可以使用Express.js创建可以返回该HTML的服务器,也可以使用该字符串将HTML文件写入磁盘。

const express = require('express');
const jsdom = require("jsdom");

const { JSDOM } = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><body><p id="main">My First JSDOM!</p></body>`,}
);

const app = express();

app.get('/',(req,res) => {
  res.send(dom.serialize());
});

app.listen(8080,() => {
  console.log('Example app listening at http://localhost:8080');
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。