我正在尝试渲染一个把手页面,我收到了404错误,我不知道为什么。它几乎就像它不能识别把手文件一样。我的文件层次结构如下所示:
我正在调用当前页面的这一部分的路径:
<p><a href="http://18.219.103.143:3000/admin-dashboard">Admin Login</a></p>
在主js文件中,我使用以下代码处理admin-dashboard
:
app.get('/admin-dashboard', function(req,res){
var context = {};
res.render('adminDash', context);
});
adminDash.handlebars
仅包含:
<h1>Admin Page</h1>
查看引擎:
app.engine('handlebars', handlebars.engine);
app.set('view engine', 'handlebars');
app.set('port', 3000);
app.use(express.static('public'));
我在app.get
函数中尝试了console.log和/或alert进行调试,但没有打印到控制台。可能是我打电话给render()
的方式吗?当我无法打印语句时,不确定如何调试。有什么看似明显不合适吗?
答案 0 :(得分:0)
您使用什么视图引擎以及如何设置它?如果您使用默认hbs
,则后缀为.hbs
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
答案 1 :(得分:0)
安装车把:npm i express-handlebars
添加代码:
const exphbs = require('express-handlebars');
const hbs = exphbs.create({
defaultLayout: 'main',
extname: 'hbs',
runtimeOptions: {
allowProtoPropertiesByDefault: true,
allowProtoMethodsByDefault: true,
}
});
app.engine('hbs', hbs.engine);
app.set('view engine', 'hbs');
app.set('views', 'views');