为什么会这样?

问题描述

我刚开始表达。我正在开发一个 MERN 应用程序,在使用 express 创建服务器时我遇到了一个错误

const express = require("express");
const app = express();
const PATH = require("path");
const LAYOUT = require("express-ejs-layouts");
const PORT = process.env.PORT || 3000;
 
app.use(LAYOUT);
app.set("views",PATH.join(__dirname,"/resources/views"));
app.set("view engine","ejs");
app.get("/",(req,res) => {
  res.render('home');
});
app.listen(PORT,() => {
  console.log(`Listning on port ${PORT}...`);
});

错误

Error: Failed to lookup view "layout" in views directory "C:\Users\ayond\OneDrive\Desktop\my_projects\mern\resources\views"
    at Function.render (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\express\lib\application.js:580:17)
    at ServerResponse.render (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\express\lib\response.js:1012:7)
    at C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\express-ejs-layouts\lib\express-layouts.js:113:20
    at tryHandleCache (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\ejs\lib\ejs.js:278:5)
    at View.exports.renderFile [as engine] (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\ejs\lib\ejs.js:489:10)
    at View.render (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\express\lib\view.js:135:8)
    at tryRender (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\express\lib\application.js:640:10)
    at Function.render (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\express\lib\response.js:1012:7)
    at ServerResponse.res.render (C:\Users\ayond\OneDrive\Desktop\my_projects\mern\node_modules\express-ejs-layouts\lib\express-layouts.js:77:18)

但是当我使用 set 之前的路由并使用 methode 时,它​​按预期工作。为什么会这样?

const express = require("express");
const app = express();
const PATH = require("path");
const LAYOUT = require("express-ejs-layouts");
const PORT = process.env.PORT || 3000;
app.get("/",res) => {
    res.render('home');
  });
app.use(LAYOUT);
app.set("views","ejs");
app.listen(PORT,() => {
  console.log(`Listning on port ${PORT}...`);
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)