node-app一定要使用ejs模板吗?
如题,这段时间接触用express写后端,用的模板是ejs写的。其实用html也可以,为什么要使用ejs呢?ejs的优势在哪里?难道是因为它的数据渲染比html+js更便捷?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如题,这段时间接触用express写后端,用的模板是ejs写的。其实用html也可以,为什么要使用ejs呢?ejs的优势在哪里?难道是因为它的数据渲染比html+js更便捷?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
方案一:后端返给你HTML+js,然后js向后端要数据并操作DOM填充HTML
方案二:数据在后端,那么不如直接让后端把数据先填到HTML中,然后在伴随一些交互型的js返回给你岂不美哉,相当于少了一次于服务器的交互
然而现在的前后端分离则是另一种考虑。因为后端填充HTML实际上还是需要数据处理逻辑的,那么就是方案一的某些处理逻辑放在后端。现在倾向于服务型的后端只提供数据操作接口,将很大一部分数据处理逻辑放在前端,具体能减轻多少压力也就交给background的同学去评估。
而ejs和jsp相类似,jsp实际上是一个java程序(会被编译的),看上去都是html内容,但是实际上是HTML内容嵌到一段java程序里。ejs也是一样的,把HTML代码嵌到js脚本里,Vue和React的render也是相似的方案。这样做我觉得主要是减轻渲染和操作DOM的压力,并且数据处理的形式肯定也是模板比操作DOM方便。
比如你需要把一个数组变成一个ul-li,js可能需要jQuery支持,循环造很多li元素append到ul中。模板就相当于在一个for循环中拼接各种"<li></li>"这样的字符串,然后在“写到”HTML文档中交给浏览器渲染。
这是我对模板原因的理解,浅显不深入,肯定有什么不对的地方烦请指出,如有误导立马删除
答案是否。ejs等模板引擎是为动态页面准备的,也就是说,你的HTML页面存在“变量”的情况下,才需要用到模板引擎。
那你就用啊,看你怎么绑定动态数据。
与 html 对比多了一个插入 nodejs route 传递过来的动态数据的功能,这不叫“优势”,这两货唯度完全不一样
只能说你把完全不同的东西放一起来比了,html+js 是 single page application,纯客户端的。 ejs 是服务器端编译模板引擎。
建议楼主多做做,多练练,别啥都不清楚就出来问。