Node.js 为什么res.render()不';是否在没有模板引擎的情况下将局部变量发送到客户端?

Node.js 为什么res.render()不';是否在没有模板引擎的情况下将局部变量发送到客户端?,node.js,express,template-engine,Node.js,Express,Template Engine,我需要访问客户端中由发送的变量user res.render('home.html', { user: req.user }); 不使用模板引擎,如pug或ejs 这可能吗?HTML不是一种模板语言,因此不能用于发送变量 res.render()函数编译模板,在模板中插入局部变量,并使用这两种内容创建html输出。语法如下- res.render(view [, locals] [, callback]) view参数是一个字符串,它是要渲染的视图文件的文件路径。要使其工作,您需要一个模板或

我需要访问客户端中由发送的变量
user

res.render('home.html', { user: req.user });
不使用模板引擎,如
pug
ejs


这可能吗?

HTML不是一种模板语言,因此不能用于发送变量

res.render()
函数编译模板,在模板中插入局部变量,并使用这两种内容创建html输出。语法如下-

res.render(view [, locals] [, callback])
view参数是一个字符串,它是要渲染的视图文件的文件路径。要使其工作,您需要一个模板或视图引擎

在html中,不能动态传递/插入数据变量。这是模板引擎的主要用例。他们将运行时/动态值放在html中,这可能就是您想要的

简言之,最好使用任何模板引擎,如pug、jade、ejs等,其中大多数都具有与html几乎相似的语法来呈现动态html页面。我认为没有任何方法(至少足够简单)可以在html页面中将变量从服务器动态发送到客户端。在您的用例中,使用模板引擎将是最佳选择


例如,您正在从服务器端传递用户,并且很可能希望传递的变量在客户端呈现。您只需安装一个视图引擎,如ejs-
npm安装ejs
,在app.js-
app中设置视图引擎。使用('view engine','ejs'),只需在html页面中添加这一行,您希望将变量发送到客户端,如-

,就是这样。将html文件保存在视图文件夹中,这样就可以了。

html不是模板语言,因此不能用于发送变量

res.render()
函数编译模板,在模板中插入局部变量,并使用这两种内容创建html输出。语法如下-

res.render(view [, locals] [, callback])
view参数是一个字符串,它是要渲染的视图文件的文件路径。要使其工作,您需要一个模板或视图引擎

在html中,不能动态传递/插入数据变量。这是模板引擎的主要用例。他们将运行时/动态值放在html中,这可能就是您想要的

简言之,最好使用任何模板引擎,如pug、jade、ejs等,其中大多数都具有与html几乎相似的语法来呈现动态html页面。我认为没有任何方法(至少足够简单)可以在html页面中将变量从服务器动态发送到客户端。在您的用例中,使用模板引擎将是最佳选择

例如,您正在从服务器端传递用户,并且很可能希望传递的变量在客户端呈现。您只需安装一个视图引擎,如ejs-
npm安装ejs
,在app.js-
app中设置视图引擎。使用('view engine','ejs'),只需在html页面中添加这一行,您希望将变量发送到客户端,如-

,就是这样。将html文件保存在视图文件夹中,这样就可以了