Javascript 如何使用NodeJS操作DOM?

Javascript 如何使用NodeJS操作DOM?,javascript,node.js,json,csv,Javascript,Node.js,Json,Csv,我不熟悉javascript和Node.js,但我正在尝试找出在具有相同函数的Node中是否有document.getElementById()的替代方法。如果不能在节点中完成,是否可以创建一个纯js文件来操作DOM和一个单独的节点文件。为了获得更多信息,我尝试将csv行转换为json对象,然后用新信息更新网页,这就是我希望使用document.getElementById()的原因。document.getElementById()是一个存在于浏览器中的函数。nodejs中没有这样的函数 可以

我不熟悉javascript和Node.js,但我正在尝试找出在具有相同函数的Node中是否有document.getElementById()的替代方法。如果不能在节点中完成,是否可以创建一个纯js文件来操作DOM和一个单独的节点文件。为了获得更多信息,我尝试将csv行转换为json对象,然后用新信息更新网页,这就是我希望使用document.getElementById()的原因。

document.getElementById()
是一个存在于浏览器中的函数。nodejs中没有这样的函数

可以获得第三方模块,该模块将解析HTML网页,创建DOM,然后允许您以编程方式访问DOM,以查看网页中的内容。和是两个这样的第三方模块,每个模块具有不同的功能级别。Puppeter实际上使用Chromium浏览器引擎,甚至可以在页面中运行Javascript并生成屏幕截图。Cheerio解析HTML并允许您访问它创建的内容(无需运行Javascript)

听起来你可能对网页的工作方式有点困惑。最终用户计算机上运行的浏览器加载网页。加载页面后,服务器的工作就完成了。该网页仅存在于用户计算机上的浏览器中。服务器本身无法直接更改该网页

要更改该网页(无需重新加载),必须在该网页(在用户浏览器中运行)中包含支持Javascript的代码。例如,您可以让Javascript从web页面发出Ajax调用,从服务器请求某些数据。当服务器收到该请求时,它可以生成数据并将JSON返回到浏览器。浏览器中的Javascript随后将接收该JSON,将其解析为Javascript对象,然后使用DOM根据接收到的数据将新对象插入现有网页

请注意,对浏览器中现有网页的所有更改都是由用户浏览器中网页中运行的Javascript进行的,而不是直接由服务器进行的。服务器可以提供数据,但不能直接更改用户的网页本身。当然,用户可以请求更新页面,浏览器将请求整个页面的新版本,然后服务器可以提供包含不同数据的页面,但这将涉及重新加载整个页面


nodejs也有模板引擎,因此当服务器生成网页时,模板引擎可以帮助您为该网页创建一组包含动态数据的HTML。这不会动态地更改浏览器中已显示的网页。相反,它可以帮助您从头开始生成一个网页,在网页首次下载时将动态数据合并到该网页中。在nodejs中使用Express的模板引擎有Pug、EJS、Nunjucks、handlebar和许多模板引擎。

DOM存在于浏览器中。节点在安装了节点的任何计算机上运行,但没有浏览器。DOM是从html创建的,因此您可以使用最终成为DOM的节点创建html。或者,您可以打开并控制带有节点的浏览器(可能是木偶演员?),您可以使用该节点修改DOM。或者,您可以使用前端html与由节点运行的后端服务器进行通信,并使用前端进行更改,但使用节点提供更改的数据。我认为这是一个关于如何使用node操作DOM的非常详尽的列表。(所有这些都是间接的。)