找不到视图目录
Posted
技术标签:
【中文标题】找不到视图目录【英文标题】:not able to find views directory 【发布时间】:2021-03-24 02:19:18 【问题描述】:这是我的代码。
const express = require("express");
const app = express();
const port = 8081;
require('./db/conn');
const path = require("path");
const static_path = path.join(__dirname,"../public");
const template_path = path.join(__dirname,"../template/views");
console.log(template_path);
app.set("views",template_path);
app.set("view engine","hbs");
app.get("/",(req,res)=>
res.render("index");
)
app.listen(port,()=>
console.log("succesfully port");
)
它告诉我这个错误:
错误:无法在视图目录“D:\node and express\dhainik\mernbackend\template\views”中查找视图“索引” 在 Function.render (D:\node and express\dhainik\mernbackend\node_modules\express\lib\application.js:580:17) 在 ServerResponse.render (D:\node and express\dhainik\mernbackend\node_modules\express\lib\response.js:1012:7) 在 D:\node 和 express\dhainik\mernbackend\src\app.js:15:9 在 Layer.handle [as handle_request] (D:\node and express\dhainik\mernbackend\node_modules\express\lib\router\layer.js:95:5) 在下一个(D:\node 和 express\dhainik\mernbackend\node_modules\express\lib\router\route.js:137:13) 在 Route.dispatch (D:\node and express\dhainik\mernbackend\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request] (D:\node and express\dhainik\mernbackend\node_modules\express\lib\router\layer.js:95:5) 在 D:\node 和 express\dhainik\mernbackend\node_modules\express\lib\router\index.js:281:22 在 Function.process_params (D:\node and express\dhainik\mernbackend\node_modules\express\lib\router\index.js:335:12) 在下一个(D:\node 和 express\dhainik\mernbackend\node_modules\express\lib\router\index.js:275:10) 在 expressInit (D:\node 和 express\dhainik\mernbackend\node_modules\express\lib\middleware\init.js:40:5) 在 Layer.handle [as handle_request] (D:\node and express\dhainik\mernbackend\node_modules\express\lib\router\layer.js:95:5) 在 trim_prefix (D:\node and express\dhainik\mernbackend\node_modules\express\lib\router\index.js:317:13) 在 D:\node 和 express\dhainik\mernbackend\node_modules\express\lib\router\index.js:284:7 在 Function.process_params (D:\node and express\dhainik\mernbackend\node_modules\express\lib\router\index.js:335:12) 在下一个(D:\node and express\dhainik\mernbackend\node_modules\express\lib\router\index.js:275:10)
this is my folder structure screenshot
【问题讨论】:
我很好奇我的回答有用吗? 【参考方案1】:您输入了错误的文件夹名称。
错误信息已告诉您在"D:\node and express\dhainik\mernbackend\template\views"
中快速查找视图。
在您的文件夹结构屏幕截图中,文件夹名称是 templates
而不是 template
。
// original
const template_path = path.join(__dirname,"../template/views");
// you should use this.
const template_path = path.join(__dirname,"../templates/views");
【讨论】:
非常感谢您的回答对我很有帮助。我从来没有想过这种类型的错误。 不客气。您可以将此标记为答案,让其他人知道您已修复它。【参考方案2】:我不完全确定,但我认为您必须做的是因为您的视图位于文件夹中,您必须从中导航出来。所以基本上是这样的:
app.get("/",(req,res)=>
res.render("././index");
)
还要在 express 中启用静态文件夹,你必须这样做:
app.use(express.static('static folders name'));
不确定这一切是否可行,但请尝试告诉我控制台是否给您一条新消息
【讨论】:
以上是关于找不到视图目录的主要内容,如果未能解决你的问题,请参考以下文章