【问题标题】:Failed to lookup view "index" in views directory在视图目录中查找视图“索引”失败
【发布时间】:2016-08-05 03:58:17
【问题描述】:

我正在尝试学习 node.js。

我有以下代码。

var express = require('express');
var app = express();

var port = process.env.PORT || 5000;

app.use(express.static('public'));
app.use(express.static('src/views'));

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

app.get('/', function(req, res) {
    res.render('index', { title: 'Hello from render', nav: ['Books', 'Author'] });
});

在视图目录中查找视图“索引”失败 我有一个名为 index.ejs 的文件。我怎样才能摆脱这个错误?

【问题讨论】:

    标签: node.js express ejs


    【解决方案1】:

    试试

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

    【讨论】:

    • 赞这个app.set('views', __dirname + '/views'); app.set('view engine', 'ejs');
    • 这为我解决了这个问题。我在不同的模块中运行 express
    • 能否请您提一下,我必须在哪个文件中编写此代码?在 server.ts 文件中,我发现了类似的代码,但以 server.*** 开头,而不是 app.***
    • @Satrughna 这取决于你的代码库,所以我不知道你的具体情况。这需要在您实例化和配置 express 实例的文件中指定。
    【解决方案2】:

    这就是我修复它的方法。

    app.set('views', './src/views');
    app.set('view engine', 'ejs');
    

    【讨论】:

    • 这些行在哪里?
    • @fraxture 在您的 server.js 文件中。
    【解决方案3】:

    我也有同样的问题。我已将索引文件保存为 .html 文件。但它应该是 index.ejs。然后它起作用了。也检查一下

    【讨论】:

      【解决方案4】:

      对我来说,这是一个老生常谈的问题:当我命名我的“views”文件夹时,我不小心在名称前输入了一个空格,所以名称是“veiws”,因此,ejs 找不到“views”文件夹.

      【讨论】:

        【解决方案5】:

        我通过在我的下面写下一行来修复这个错误 app.set('viewengine' , 'ejs')

            app.set('views',path.join(__dirname,'views'));
        

        使用路径更方便,使用前注意需要路径

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-08-08
          • 2022-11-30
          • 2019-08-30
          • 2021-06-26
          • 2021-07-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多