YUI 运行在 Node.js 上
一些 UI 库/框架正在移植到 node.js,例如 YUI (http://yuilibrary.com/projects/nodejs-yui3/)。
这有什么用例?在服务器端而不是在浏览器中操作 DOM 有何优缺点?
Several UI libraries/frameworks are being ported to node.js, for example YUI (http://yuilibrary.com/projects/nodejs-yui3/).
What is the use case for this? What are the pros and cons of manipulating the DOM server side rather than in browser?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这不是在服务器上使用 DOM 而不是在客户端上使用 DOM 的问题。问题在于在服务器上使用 DOM,而不是编写 HTML 或渲染视图。您仍将在客户端上操作 DOM。
使用 DOM 而不是其他方法的主要优点是对禁用 javascript 的浏览器进行操作。
第二个专业人士在服务器上为客户端 mvc 使用完全相同的代码。这意味着您可以通过 DOM 操作 html 响应,而不是使用视图和模板引擎。
主要缺点是使用为浏览器定制的代码。所以这段代码没有经过优化,也不是服务器的最佳解决方案。
通过 jsdom 而不是视图/模板来操作 html 输出是有效的做法,它只是生成发送给客户端的 HTML 的另一种方法。
jsdom 的替代品是像 jspp 类似于 PHP 或 ASP 或模板引擎,例如 Jade通常与 express 一起使用
It's not a matter of using the DOM on the server instead of the client. It's a matter of using the DOM on the server instead of writing HTML or rendering views. You will still manipulate the DOM on the client aswell.
The main pro of using the DOM instead of other methods is doing the manipulation for browsers with javascript disabled.
The second pro is using the exact same code for your client side mvc on the server. This means rather then using views and templating engines you can just manipulate the html response through the DOM.
The main disadvantages are using code tailored for the browser. So this code is not optimised nor is it the best solution for the server.
Manipulation your html output through jsdom rather then views / templates is a valid thing to do and it's just an alternative way of generating the HTML your sending to the client.
The alternatives to jsdom are preprocessors like jspp which render like PHP or ASP or Templating engines like Jade that are generally used with express
YUI 的功能不仅仅是 DOM 操作。 YUI3架构允许您在服务器端使用像Y.io这样的非DOM功能。所以如果你想从其他服务器获取数据,你可以在服务器端使用Y.io。
YUI has more functions than just DOM manipulation. YUI3 architecture allows for you to use the non DOM functions like Y.io on the server side. So if you want to get data from another server, you can use Y.io on the server side.