[英]Error: Failed to lookup view in express + jade
這是我的代碼
var express = require('express');
var app = express();
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
exports.makeObservable = function(state, path, cb) {
app.get(path, function(req, res){
res.render('observable.jade', state);
//call callback with new user
cb(req);
});
app.listen('9999');
}
每當我嘗試到達path
我收到以下錯誤: Error: Failed to lookup view "observable.jade"
。 我也嘗試在沒有.jade
情況下傳遞observable
,但是它給出了同樣的錯誤。 我的/views
文件夾中有observable.jade和layout.jade。
我錯過了什么? 謝謝!
由於評論中的建議,我終於解決了這個問題。 首先,我檢查了執行腳本的目錄是否包含我放置.jade
文件的目錄/views
。 我起初無法解決問題,因為我無法確定執行此腳本的位置,因此我在/express/lib/application.js
中的第493行放置了console.log(view)
。 它打印出包含執行腳本的根的view
對象,因此我將/views
文件夾移動到那里,一切正常。
FWIW:我在相鄰目錄(即root / server,root / client)中有我的觀點,並且遇到了與此處描述的相同的問題。 我做的與OP不同的一件事是在登出服務器目錄時在我的app.set中添加一個'/'; 即:
這個:app.set('views',__ dirname +' / ../client / ');
而不是:app.set('views',__ dirname +'../client /');
HTH
(感謝T和OP和Pickels!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.