我一直在我的node js应用程序中使用EJS,它工作得很好,但我也有一个HTML页面在使用EJS之前构建。
我喜欢传递和对象到EJS页面并使其成为页面的一部分的能力。AN示例:
response.render("index", { name: "bob" );
但这使用了渲染命令,IIRC在HTML页面上的完整性(路径等)方面有一些问题,所以我用途:
response.redirect("mypage.html");
是否可以将变量传递到像EJS页面这样的HTML页面?
使用内联变量的EJS页面:
<div>
<h1>Home</h1>
<h3><%= locals?.name %></h3>
</div>
更新:
我让它工作了。如果有更好的方法,请提出来。见答案
1条答案
按热度按时间xxhby3vn1#
我让它工作了。它似乎工作无论如何。
我尝试的第一件事是在公共目录中呈现HTML文件,它说在
views
目录中找不到mypage.html
。因此,我将
mypage.html
复制到views目录中,并再次尝试,它说它没有HTML
文件的模块。所以我将文件扩展名从
/mypage.html
重命名为/mypage.ejs
,但仍然找不到该页面。所以我删除了前面的斜杠
mypage.ejs
,它找到了它,并加载到了css和js中。到目前为止,它似乎工作正常。
路径问题是存在的,但是如果我把HTML页面放在views目录中,使用render而不是redirect,并把所有外部资源放在公共目录中,它们似乎可以工作。
我现在可以将变量传递到
html
页面。