簡體   English   中英

錯誤:無法在express + jade中查找視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM