【发布时间】: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