node-app一定要使用ejs模板吗?

发布于 2022-09-06 13:15:06 字数 94 浏览 15 评论 0

如题,这段时间接触用express写后端,用的模板是ejs写的。其实用html也可以,为什么要使用ejs呢?ejs的优势在哪里?难道是因为它的数据渲染比html+js更便捷?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

恋你朝朝暮暮 2022-09-13 13:15:06

方案一:后端返给你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文档中交给浏览器渲染。

这是我对模板原因的理解,浅显不深入,肯定有什么不对的地方烦请指出,如有误导立马删除

最后的乘客 2022-09-13 13:15:06

答案是否。ejs等模板引擎是为动态页面准备的,也就是说,你的HTML页面存在“变量”的情况下,才需要用到模板引擎。

  1. 纯静态页面:不需要模板引擎
  2. 动态页面:可按需选择不同的模板引擎,如ejs、jade、nunjucks
送君千里 2022-09-13 13:15:06

其实用html也可以,为什么要使用ejs呢?

那你就用啊,看你怎么绑定动态数据。

ejs的优势在哪里?

与 html 对比多了一个插入 nodejs route 传递过来的动态数据的功能,这不叫“优势”,这两货唯度完全不一样

难道是因为它的数据渲染比html+js更便捷?

只能说你把完全不同的东西放一起来比了,html+js 是 single page application,纯客户端的。 ejs 是服务器端编译模板引擎。

建议楼主多做做,多练练,别啥都不清楚就出来问。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文