问题描述
|
一些UI库/框架正在移植到node.js,例如YUI(http://yuilibrary.com/projects/nodejs-yui3/)。
用例是什么?操纵DOM服务器端而不是浏览器的利弊是什么?
解决方法
在服务器而不是客户端上使用DOM都不是问题。这是在服务器上使用DOM而不是编写HTML或呈现视图的问题。您仍将在客户端上也操作DOM。
使用DOM而不是其他方法的主要优点是对禁用了javascript的浏览器进行了操作。
第二个专业人士正在为服务器上的客户端mvc使用完全相同的代码。这意味着您可以直接使用DOM来处理html响应,而不是使用视图和模板引擎。
主要缺点是使用为浏览器量身定制的代码。因此,此代码未经过优化,也不是服务器的最佳解决方案。
通过jsdom而不是视图/模板来操纵html输出是一件有效的事情,并且它只是生成发送给客户端的HTML的另一种方式。
jsdom的替代品是像jspp这样的预处理器,它像PHP或ASP那样进行渲染,或者像Jade这样的模板引擎通常与express一起使用。
,YUI不仅具有DOM操作的功能,还具有更多的功能。 YUI3体系结构允许您在服务器端使用非DOM功能,例如Y.io。因此,如果要从另一台服务器获取数据,则可以在服务器端使用Y.io。