【问题标题】: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

【问题讨论】:

  • 我很好奇我的回答有用吗?

标签: javascript reactjs mongodb express mongoose


【解决方案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}'));

不确定这一切是否可行,但请尝试告诉我控制台是否给您一条新消息

【讨论】:

    猜你喜欢
    • 2013-01-04
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    • 2013-03-06
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多