【问题标题】:How do you href a .ejs file in HTML你如何在 HTML 中引用 .ejs 文件
【发布时间】:2020-07-15 04:35:35
【问题描述】:

我正在尝试使用 Nodejs 和 express 构建登录系统。我有一个使用 ejs 登录表单的登录页面。

在我的index.html 文件中,有一个按钮可以将用户引导至该登录页面:

<button id="loginBtn">
<a href="views/login.ejs"><LI> LOGIN </LI></a>
</button>

但它会打印登录页面的 ejs 代码,而不是显示实际页面。有人知道我在做什么吗?

【问题讨论】:

  • 这是 Node.JS 吗?
  • 我对 ejs 并不特别熟悉,但通常对于模板语言,您需要在 web 应用程序上使用一个端点来将模板呈现为 html。您不会直接链接到模板。如果你使用 express,你会 configure ejs as the template engine 并设置一个使用特定模板的路由。
  • 有可能你也可以在客户端动态渲染,但我想知道你是如何以及从哪里开始为服务器以及你做哪种类型的编程
  • 是的,每当我使用 app.listen() 在本地主机上单独运行登录系统时,我的 login.ejs 工作正常,但现在我试图从我的 index.html 文件中访问它,但是我不能
  • 非常好,所以您确认您实际上是在将 EJS 与 ExpressJS 与 Node.JS 一起使用

标签: html css node.js ejs


【解决方案1】:

要渲染视图,您只需在 expressjs 中指定一个端点并仅调用该端点

您不应该尝试调用.ejs 文件位置

示例:在这段代码中login.ejs会在后台自动渲染,服务器库会做,res.render('login')会自动调用login.ejs

 router.get('/home', function(req, res, next) {
    res.render('login');
 });

您的超链接应该单独调用路由器映射端点

 <a href="/home"><li> LOGIN </li></a>

一旦你决定使用EJS,出于UI设计的目的,如果UI设计部分单独交给你,那么你可以做一个虚拟代码来渲染一个具有固定数据的EJS,你不必运行整个网站与数据库

例如:假设有一个数据会渲染一个 EJS,用虚拟数据渲染你可以这样做

从正在尽其本分的开发人员那里获取数据并执行此代码

 router.get('/home', function(req, res, next) {
    var data = {"name": "Emmanuel"}
    res.render('login', data);
 });

如你所见,数据直接编码temporary

【讨论】:

  • 我是否必须在本地主机上运行我的整个 Web 应用程序才能使 nodejs 正常工作?因为现在已经构建的站点正在本地从其文件目录运行
  • 给出答案
猜你喜欢
  • 2018-01-13
  • 2016-01-14
  • 2012-07-20
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 1970-01-01
  • 2021-04-25
  • 2019-09-26
相关资源
最近更新 更多