什么是Ejs,Ejs的用途是什么?

16

请问什么是Ejs?我们可以在使用node的同时使用Ejs构建一个完整的前端吗? 我一直在寻找答案,但是我没有找到想要的答案。还请有人能够区分前端框架(如Angular和React)与Ejs的区别。


2
EJS是一个模板系统。您可以使用EJS语法定义HTML页面,并指定页面中各种数据的位置。然后,您的应用程序将数据与模板组合起来,"渲染"出完整的HTML页面,其中EJS会根据您定义的模板将数据插入到网页中。例如,您可以拥有一个包含动态数据的数据库表格,并希望EJS根据您的显示规则生成数据表格。这样可以避免编写代码以根据数据动态生成HTML的繁琐工作。 - jfriend00
1
EJS还支持共享模板,可以将其插入到其他模板中(例如,在Web页面中的公共页眉/页脚),因此您可以仅指定一次布局,然后在所有其他模板中使用它,而不是在所有页面中反复重复该HTML。这极大地简化了维护和修改工作,因为公共内容在一个地方定义,然后在许多其他页面中使用。 - jfriend00
1
FYI,Node.js中有数十个竞争的模板系统可供使用。EJS是一个流行的选择,人们通常根据符合您需求的功能、布局语言是否适合您想要使用的内容、哪种看起来最容易使用等因素进行选择...我曾经使用过Pug、Handlebars、Nunjucks和EJS。目前我最喜欢的是Nunjucks。 - jfriend00
1
EJS(以及其他竞争的模板引擎)允许您生成完整的HTML页面。我不确定您认为还需要什么才能拥有“适当的前端”? - jfriend00
1
在我的关于评论中列出的任何一个模板引擎都可以做到这一点。 - jfriend00
显示剩余2条评论
1个回答

25
EJS是一个模板系统。您可以使用EJS语法定义HTML页面,并指定页面中各种数据的位置。然后,您的应用程序将数据与模板组合,并“呈现”完整的HTML页面,其中EJS会根据您定义的模板将数据插入到网页中。例如,您可以拥有来自数据库的动态数据表,并希望EJS根据您的显示规则生成数据表。这样可以避免编写代码以根据数据动态生成HTML的繁琐工作。
EJS与Express兼容,因为它钩入了Express提供的视图引擎架构,并允许您使用Express中的res.render()向客户端呈现Web页面。
FYI,在node.js中有数十个竞争模板系统可供使用。 EJS是流行的之一,人们通常根据符合您需求的功能,其布局语言如何适合您要使用的内容,以及哪个看起来最容易使用等选择其中之一...我使用过Pug,Handlebars,Nunjucks和EJS。 Nunjucks是我目前最喜欢的。
EJS(以及所有其他竞争模板引擎)允许您生成完整的HTML页面,从而肯定实现了“适当的前端”。
EJS是用于生成包含动态数据并可以与其他Web页面共享模板片段(例如公共标头/页脚)的Web页面的工具。它不是前端框架。虽然客户端JavaScript可以使用EJS在客户端生成HTML,但通常情况下,您的后端会使用它来根据某个URL请求生成Web页面。 EJS不是像Angular或React这样的客户端框架,并且不指定您使用哪个客户端框架(如果有)。 它主要涵盖了一个单独的解决方案空间。

@ShehryarTanoli - 这个回答解决了你的问题吗? - jfriend00
1
有人能评论一下 EJS 和 Svelte 的区别吗?我对网页技术不太了解,希望这个问题不算太蠢。 - user734028

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接