为什么我的嵌入式 Javascript (EJS) 不显示我的 error.status 值?
Why is my Embedded Javascript (EJS) not displaying my error.status value?
我正在使用 ejs,node.js & express 等包裹
为什么页面呈现时没有显示 error.status 和 error.stack 值?我确定它与 ejs 文件中未定义或不可访问的错误变量有关,但我不确定如何声明或导入它以使其可访问。
Rendered 404 page with no error.status or error.stack displaying
这是我的 error.ejs 文件
<%- include partials/header.ejs %>
<h1>404 Page Not Found</h1>
<h2><%= error.status %></h2>
<pre><%= error.stack %></pre>
<%- include partials/footer.ejs %>
这是我的 header.ejs 文件
<!DOCTYPE html>
<html lang="en">
<head>
<title> Quartile </title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
<link rel="stylesheet" href="/stylesheets/style.css" />
<script src="https://kit.fontawesome.com/66fd6114b0.js" crossorigin="anonymous"></script>
</head>
<body>
您是否传递了渲染错误?沿着
的路线
res.render("error", { title: "Error", error: error.array() })
我能够弄清楚如何传递我定义为占位符的值,当您 res.render 错误文件时,变量需要在 app.js 文件中传递。
app.use(function(err, req, res, next) {
err.status = 404;
// render the error page
res.status(err.status || 500);
res.render('error',{errorStatus: err.status}); //
});
我仍然不太明白 err.status 值是如何确定或填充的,如果我不对它进行硬编码,如果它是在其他地方发生真正错误时实际创建的,它没有目前的价值,因为我没有实际错误?还是我总是必须自己定义它?似乎必须有一种方法可以自动生成错误值,我可以让它显示一个不断变化的变量,但我不知道该怎么做。
我正在使用 ejs,node.js & express 等包裹
为什么页面呈现时没有显示 error.status 和 error.stack 值?我确定它与 ejs 文件中未定义或不可访问的错误变量有关,但我不确定如何声明或导入它以使其可访问。 Rendered 404 page with no error.status or error.stack displaying
这是我的 error.ejs 文件
<%- include partials/header.ejs %>
<h1>404 Page Not Found</h1>
<h2><%= error.status %></h2>
<pre><%= error.stack %></pre>
<%- include partials/footer.ejs %>
这是我的 header.ejs 文件
<!DOCTYPE html>
<html lang="en">
<head>
<title> Quartile </title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
<link rel="stylesheet" href="/stylesheets/style.css" />
<script src="https://kit.fontawesome.com/66fd6114b0.js" crossorigin="anonymous"></script>
</head>
<body>
您是否传递了渲染错误?沿着
的路线res.render("error", { title: "Error", error: error.array() })
我能够弄清楚如何传递我定义为占位符的值,当您 res.render 错误文件时,变量需要在 app.js 文件中传递。
app.use(function(err, req, res, next) {
err.status = 404;
// render the error page
res.status(err.status || 500);
res.render('error',{errorStatus: err.status}); //
});
我仍然不太明白 err.status 值是如何确定或填充的,如果我不对它进行硬编码,如果它是在其他地方发生真正错误时实际创建的,它没有目前的价值,因为我没有实际错误?还是我总是必须自己定义它?似乎必须有一种方法可以自动生成错误值,我可以让它显示一个不断变化的变量,但我不知道该怎么做。