【问题标题】:"Failed to lookup view" in basic Express.js application基本 Express.js 应用程序中的“查找视图失败”
【发布时间】:2014-03-25 01:34:05
【问题描述】:

我正在尝试学习 Express.js,因此我创建了简单的 Express 应用程序。 app.js 如下所示:

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

app.configure(function(){
    app.set('view engine', 'jade'); 
    app.set('views', __dirname);
});

app.get('/', function(req, res){ 
    res.render("index");
});

app.listen(8080);

我的文件夹结构如下所示:

但是,当我将浏览器指向 http://localhost:8080 时,我得到以下输出:

Error: Failed to lookup view "index"
at Function.app.render (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/application.js:492:17)
at ServerResponse.res.render (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/response.js:721:7)
at /Users/kuba/Documents/ws_javascript/express_spike/app.js:10:6
at callbacks (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:161:37)
at param (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:135:11)
at pass (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:142:5)
at Router._dispatch (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:170:5)
at Object.router (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:33:10)
at next (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/node_modules/connect/lib/proto.js:199:15)
at Object.expressInit [as handle] (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/middleware.js:31:5)

我已经检查过,文件的权限没问题。 为什么 express 找不到我的 index.jade 文件有什么想法吗?

【问题讨论】:

    标签: javascript node.js express pug


    【解决方案1】:

    试试这个代码:

    var express = require('express');
    var app = express();
    
    app.use(express.logger('dev'))
    
    app.set('views', __dirname+'/views');
    app.set('view engine', 'jade');
    
    app.get('/', function(req, res){
        res.render("index");
    });
    
    app.listen(8080);
    

    然后将您的index.jade 放入名为views 的文件夹中。

    并确保您的 node_modules 文件夹中有 jade

    【讨论】:

    • 我尝试了您的解决方案,但仍然无法正常工作。我有你发布的代码,我将 index.jade 移动到 views 文件夹,并且我在 node_modules 中有翡翠。
    • 你检查过index.jade文件的权限了吗?
    • 权限没问题,问题出在文件名上,不知为何最后有空格,所以是"index.jade"。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 2014-08-28
    • 2020-03-06
    相关资源
    最近更新 更多