在视图目录中找不到视图"index"



我需要一个客户端来提供页面。我做了一个简单的节点.js服务器。

项目结构

| web-site (folder)
| package.json (files)
| package-lock.json (files)
| node_modules (folder)
...
| src (folder)
| index.js (files)
| routers (folder)
| routesr.js (files)
| views (folder)
| index.hbs (files)
...

索引.js文件内容。

import express from 'express'
import routers from './routers/routers';
const port = process.env.PORT || 8081;
const router = express();
router.set('views', __dirname + '/views/');
router.set('view engine', 'hbs');
router.use(express.static('./../public'));
router.use(routers);
router.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
export default router;

路由器.js文件内容。

import express from 'express'
const router = express();
router.get('/', (req, res) => {
const peopleList = getRandomList();
res.render('index', { people: peopleList });
});
export default router;
const getRandomList = () => {
const list = ['ada', 'turing', 'lovelace', 'neumann', 'gracehopper'];
const limit = Math.floor(Math.random() * (list.length - 1 - 0) + 0);
return list.slice(limit);
};

索引.hbs 文件内容。

<!DOCTYPE html>
<html>
<body>
<ul>
{{#each people}}
<li>{{this}}</li>
{{/each}}
</ul>
</body>
</html>

当我在浏览器中打开路由http://localhost:8081时,出现错误

错误:无法在视图目录"C:\用户\用户\文档\网站\视图"中查找视图"索引">

为什么我的服务器看不到 index.hbs 文件?

尝试更改

router.set('views', __dirname + '/views/');

router.set('views', path.join(__dirname, 'views/'));

最新更新