javascript - Express.js 不渲染把手,但显示一个空白页面
问题描述
我是 nodejs 和 express 框架的新手。我正在尝试创建一个用于测试目的的登录界面,并且我正在使用一个名为handlebars
但我无法让 nodejs 渲染把手的渲染引擎,而是它只显示一个空页面,这意味着它没有渲染任何东西。
我只是重读了大约 5 次代码,但我找不到问题所在。请帮我看看我看不到的东西。
注意:我安装了express
,并且express-handlebars
app.js
代码:
//Requiring Modules:
const express = require('express');
const app = express();
const port = 3000; //Port where server will be located
const handlebars = require('express-handlebars');
//Code
app.set('view engine', 'handlebars');
app.engine('handlebars', handlebars({
layoutsDir: `${__dirname}/views/layouts`
}));
app.use(express.static('public'));
app.get('/', (req, res)=> {
res.render('main', {layout: 'index'});
});
app.listen(port, ()=>{
console.log(`Server on port: ${port}`);
});
项目文件夹包含三个主要文件夹和三个文件:
- node_modules(带有 nodejs 模块)
- public(一个空的公共文件夹)
- 视图(
.handlebars
文件所在的位置)- 布局(文件夹)
index.handlebars
(车把文件)
main.handlebars
(车把文件)
- 布局(文件夹)
app.js
(主要代码)package-lock.json
package.json
index.handlebars
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
{{{body}}}
</body>
</html>
main.handlebars
代码:
<h1>This is a test</h1>
抱歉,如果我遗漏了一些非常明显的东西,但我真的看不到它。
注意:正如下面的用户所说,我尝试更改 index.handlebars 内容以查看文件是否呈现。问题是,index.handlebars 无法识别 main.handlebars
解决方案
推荐阅读
- javascript - 如何使用名称选择器选择选定复选框的长度
- javascript - 生成球故障
- php - 通过ajax时插入的文件为空
- flutter - 将变量从一个类连续发送到另一个类
- c# - 如何在 Web 应用程序中的移动文件过程中提醒用户重复
- android - 如何创建新的 Fabric crashlytics Instant 应用程序?
- python - 从 Linux 上的 Web 服务器在 Windows 上运行任务的最佳方式
- python - 如何使用多个计数来制作字典
- javascript - 如何在 mxGraph 中通过 mouseEvent 更改单元格样式使用 Obect(cell)?
- microsoft-graph-api - 替换操作会破坏表格 OneNote 中的图像(图形 API)