gpt4 book ai didi

jquery - 使用 nodejs 运行 jquery 组件

转载 作者:搜寻专家 更新时间:2023-10-31 23:55:36 25 4
gpt4 key购买 nike

我有一个完全开发的 jquery 组件,例如 jquery full calendar

我的组件似乎在浏览器(不是那个日历)中运行缓慢。所以我想到了使用 nodeJs 在服务器中运行它。

我想在服务器中进行所有的 dom 操作,只需要将 html 页面发送到浏览器。如果我从头开始,似乎一切皆有可能,但我不想这样做。这是我打算做的

  • 如果用户输入 url,则它必须访问服务器。
  • 然后在服务器端编译所有的Js和css
  • 然后它必须将 html 文件返回给浏览器
  • 当用户再次执行某些操作时,它必须访问服务器并进行所有更改,然后必须将其发送到服务器

谁能告诉我如何做到这一点或实现我想要的任何其他最佳替代方法?一个简单的演示应用程序会更好。提前致谢。

最佳答案

我认为您关于 DOM 工作方式的问题可能有些混淆。

虽然可以使用类似 jsDom 的库在 node.js 服务器上呈现具有 DOM 的应用程序,当同一个页面被提供给客户端时,它有一个完全不同的 DOM 实例,并且它们两者之间没有任何通信方式。因此,您的应用对服务器上的 DOM 所做的任何更改都无法轻易传播到客户端的 DOM。

如果您的组件似乎在浏览器中运行缓慢,那么与尝试将 DOM 操作卸载到服务器。

如果您查看这两种不同的场景并将它们分解为浏览器实际执行的操作,您就会明白为什么这是一个坏主意。

场景(一)——在服务器上渲染 Dom 变化

  1. 第 1 步 - 客户端从服务器加载初始 html 页面(慢)
  2. 第 2 步 - 用户与客户端页面交互(快速)
  3. 第 3 步 - 客户端将用户交互发送回服务器 (vslow)
  4. 第 4 步 - 服务器加载 Dom(慢)
  5. 第 5 步 - 服务器运行 Dom 更改(快速)
  6. 第 6 步 - 服务器将重新呈现的 HTML 发送回客户端(慢)
  7. 第 7 步 - 客户端从服务器呈现新的 HTML(慢)

场景(2)——在客户端渲染 Dom 变化

  1. 第 1 步 - 客户端从服务器加载初始 html 页面(慢)
  2. 第 2 步 - 用户与客户端页面交互(快速)
  3. 第 3 步 - 客户端运行 Dom 更改(快速)
  4. 第 4 步 - 客户端呈现更改后的 DOM(慢速)

与尝试将 DOM 渲染卸载到服务器上相比,只在组件上工作以使其更快会更好。 Here's a good blog post on how to speed up jquery code .

如果您真的想继续您在问题中建议的工作流程,我建议您查看 jsDom图书馆,但我真的不推荐它。

关于jquery - 使用 nodejs 运行 jquery 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15066915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com