由于
Node.js
中没有DOM
和BOM
,所以也就无法直接操作DOM
和BOM
。
jsdom
是一个模拟浏览器环境的库,可以在Node.js
中使用 DOM API
1npm install jsdom
1// 运行完该脚本会在执行目录下生成html文件
2const fs = require("node:fs");
3const { JSDOM } = require("jsdom");
4
5const dom = new JSDOM(`<!DOCTYPE html><div id='app'></div>`);
6
7const document = dom.window.document;
8
9fetch("https://api.thecatapi.com/v1/images/search?limit=10&page=1")
10 .then((res) => res.json())
11 .then((data) => {
12 const app = document.getElementById("app");
13 data.forEach((item) => {
14 const img = document.createElement("img");
15 img.src = item.url;
16 img.style.width = "200px";
17 img.style.height = "200px";
18 app.appendChild(img);
19 });
20 fs.writeFileSync("./index.html", dom.serialize());
21 });
:::