我需要访问客户端中的变量user
,该变量由
res.render('home.html', { user: req.user });
不使用模板引擎,如pug
或ejs
这可能吗?
HTML不是模板语言,所以不能用来发送变量。
res.render()
函数编译模板,在那里插入局部变量,并用这两个东西创建html输出。 语法如下-
res.render(view [, locals] [, callback])
视图参数是一个字符串,它是要呈现的视图文件的文件路径。 为此,您需要一个模板或视图引擎。
在html中,您不能动态地传递/插入数据变量。 这是模板引擎的主要用例。 它们将运行时/动态值放在html中,这正是您可能正在寻找的。
简而言之,最好使用任何模板引擎,如pug,jade,ejs等,其中大多数都具有与html几乎相似的语法来呈现动态html页面。 我认为没有任何方法(至少足够简单)在html页面中动态地将变量从服务器发送到客户机。 在您的用例中,使用模板引擎将是最好的选择。
对于。 您正在从服务器端传递用户,并且很可能希望传递的变量在客户端呈现。 您只需安装一个视图引擎,例如ejs- ; <%=用户%>; npm install ejs
,在app.js-app.use('view engine','ejs');
中设置您的视图引擎,并且只需在您想要将变量发送到客户端的html页面中添加这一行,例如-
就这样了。 把你的html文件保存在视图文件夹中,这样就可以了。