【问题标题】:Express Error - 500 Error: Failed to lookup view "index"Express 错误 - 500 错误:无法查找视图“索引”
【发布时间】:2017-03-08 11:55:06
【问题描述】:

使用 Express 版本 4.15.2 时,浏览器中出现以下(显然是常见的)错误--- 500 Error: Failed to lookup view "index" at Function.app.render。我已经阅读了提供给几个此类受害者的解决方案,但我的 __dirname 值确实指向正确的视图文件夹,并且“视图”的正确路径确实是在我在 Windows 中使用的 app.js 文件中构建的命令行(即 >node app.js)。我注意到的唯一一件奇怪的事情是视图文件夹中存在的“索引”文件名为“index.jade”。我用哈巴狗代替玉。事实上,翡翠不是已经停止使用了吗?这可能是问题吗?现在应该为 Windows 提供“.pug”扩展名,还是索引文件上根本没有扩展名?


根据您的要求查看配置(尽管它非常标准,除了“jade”,我没有更改任何内容,改为“pug”),以下是我在 app.js 中看到的唯一配置。 (并将视图引擎从 'jade' 更改为 'pug' 摆脱了找不到 'jade' 的错误。)

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

// development only
if ('development' === app.get('env')) {
     app.use(express.errorHandler());
}
   
app.get('/', routes.index);
app.get('/users', user.list);

【问题讨论】:

  • 您能否展示您用于配置 Express 的代码以及您的目录结构(至少与模板相关的部分)?
  • @Talllisfan 你找到解决方案了吗?我也有同样的问题。我正在投票,希望有人能回答,因为我有同样的问题!
  • 我正在执行一个常见的 app.js 文件,在本例中是随 Sam 的 Nodejs 24 小时书一起提供的。它非常短,并且被告知(可能是错误的)它不需要任何配置,尽管我确实将 'jade' 更改为 'pug',但这样做并没有出错。文件夹结构是 express-generator 在创建我的项目文件夹时设置的标准结构,并且如上所述,__dirname 指向正确的文件。

标签: node.js


【解决方案1】:

是的,确实,我所要做的就是在索引和布局文件上将扩展名 .jade 更改为扩展名 .pug,这样就解决了问题。因此,问题不在于 __dirname;这确实是正确的。问题是它不喜欢 .jade 扩展名。

感谢您的想法。

【讨论】:

    猜你喜欢
    • 2014-02-07
    • 1970-01-01
    • 2021-07-23
    • 2016-01-27
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多