Javascript 可以在NodeJS中操作DOM吗?
我使用vanilla js、ajax和DOM操作构建了一个random quotes应用程序,我想知道是否可以使用node/express在后端执行js位。然而,我似乎不知道DOM操作(如单击按钮生成新报价)是否可以通过节点JS完成?DOM不是JS的一部分。它是HTML的一部分,因此需要浏览器的上下文才能使用它Javascript 可以在NodeJS中操作DOM吗?,javascript,html,css,node.js,ajax,Javascript,Html,Css,Node.js,Ajax,我使用vanilla js、ajax和DOM操作构建了一个random quotes应用程序,我想知道是否可以使用node/express在后端执行js位。然而,我似乎不知道DOM操作(如单击按钮生成新报价)是否可以通过节点JS完成?DOM不是JS的一部分。它是HTML的一部分,因此需要浏览器的上下文才能使用它 您要做的是在浏览器中继续DOM操作,并对节点后端进行API调用。这将使用类似于代理数据的东西,然后通过适当地更新应用程序的DOM来响应数据。您可以使用库(如libxmljs或cheeri
您要做的是在浏览器中继续DOM操作,并对节点后端进行API调用。这将使用类似于代理数据的东西,然后通过适当地更新应用程序的DOM来响应数据。您可以使用库(如libxmljs或cheerio)将HTML解析为带有Node.js的DOM,然后允许您操作结果
您不能使用Node.js中运行的代码来操作浏览器构建的DOM,也不能直接处理在浏览器中呈现的按钮上的单击,因为按钮和DOM都将在浏览器中,而不是Node.js程序中。您可以尝试使用一些模板呈现语言,如(ejs、Handlebar…)使用普通javascript代码 有许多模板引擎操作可用于生成服务器端呈现页面。
使用模板引擎,您可以在向客户端提供服务之前提供html和操作DOM。好吧,这里的Node/Express是一个后端工具,而您的浏览器(vanilla JS将运行的地方)是前端 后端可以以
HTML/JSON/XML
甚至纯文本的形式生成输出!。但类似地,由于我们无法更改函数返回的值,后端一旦输出某些内容就无法更改
这里使用的是前端工具,它们能够更改您的案例中的DOM
因此,一种方法是从后端一起获取新资源,或者更聪明的方法是只获取要更改的报价(通过在同一后端上创建REST API)
因此,您需要一些像/page/quotes
这样的返回HTML页面的路由
还有一些路由,比如
/api/random\u quote
,可以返回JSON格式的随机引用。您可以使用类似于的东西从前端JS调用,您需要首先区分什么是dom和什么是node
1.DOM
意味着要在浏览器中运行,它需要三种类型的文件
- js
- css
- html
它是一种编程语言,一种工具,看起来像javascript。无法在brsower中运行节点。但您可以通过节点编码创建html/css/js文件,也可以通过服务器框架(如node express)返回它们 3.我的建议 如果您真的想在node express中编写一些代码,并进行一些DOM操作。 尝试:
- SSR(服务器端渲染)
- 在ejs文件或其他服务器端html模板中编码DOM代码
- 通过编写服务器api返回页面(Express是一个很好的选择)