【问题标题】:Cannot GET / error while using res.render使用 res.render 时无法获取/错误
【发布时间】:2020-08-17 14:21:28
【问题描述】:

我不知道出了什么问题。我使用了每个浏览器,但我得到相同的错误无法获取 /

这是我的代码-

const express = require("express");
const bodyParser = require("body-parser");
const ejs = require("ejs");

const app = express();

app.set('view engine', 'ejs');

app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static("public"));



app.get("/" , function(req,res){
  res.render( "/views/home.ejs");
});


app.listen(3000, function() {
  console.log("Server started on port 3000");
});

【问题讨论】:

  • res.render('home'); 试试这个
  • 还是同样的错误
  • 检查您的文件夹结构,它应该是views/home.ejsres.render('home') 有效!!
  • 您能告诉我们您的文件夹结构吗?它可能会有所帮助

标签: javascript html css node.js ejs


【解决方案1】:

假设您的文件结构与此类似,我建议您这样做:

/index.js
/views
/views/home.ejs

然后这样做:

app.get('/', function(req,res){
    res
        .status(200)
        .render('home')
});

【讨论】:

  • 为什么要创建双views文件夹?
  • 不创建重复视图文件夹,我只是声明它,我不知道更好的方法。请注意,存在于同一目录中的两个目录不能具有相同的名称。
【解决方案2】:

我不知道您的文件是如何组织的,但请尝试在 /views 前面加上两个句点 像这样 app.get("/" , function(req,res){ res.render( "../views/home.ejs"); });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多