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这样的客户端框架,并且不指定您使用哪个客户端框架(如果有)。 它主要涵盖了一个单独的解决方案空间。