为了账号安全,请及时绑定邮箱和手机立即绑定

Error: Failed to lookup view "index" in views directory "/views"这是什么原因啊

Error: Failed to lookup view "index" in views directory "/views"
   at EventEmitter.app.render (E:\projects\Imooc\node_modules\express\lib\application.js:555:17)
   at ServerResponse.res.render (E:\projects\Imooc\node_modules\express\lib\response.js:938:7)
   at E:\projects\Imooc\app.js:14:6
   at Layer.handle [as handle_request] (E:\projects\Imooc\node_modules\express\lib\router\layer.js:82:5)
   at next (E:\projects\Imooc\node_modules\express\lib\router\route.js:110:13)
   at Route.dispatch (E:\projects\Imooc\node_modules\express\lib\router\route.js:91:3)
   at Layer.handle [as handle_request] (E:\projects\Imooc\node_modules\express\lib\router\layer.js:82:5)
   at E:\projects\Imooc\node_modules\express\lib\router\index.js:267:22
   at Function.proto.process_params (E:\projects\Imooc\node_modules\express\lib\router\index.js:321:12)
   at next (E:\projects\Imooc\node_modules\express\lib\router\index.js:261:10)



var express = require('express');

var port = process.env.PORT||3000;

var app = express();


app.set('views','/views');

app.set('view engine','jade');

app.set('port',3000);


app.listen(port,function(){

console.log('Imooc started on port '+port);

})


app.get('/',function(req,res){

res.render('index',{title:'Imooc首页'});

//res.send('Hello World')

})


正在回答

14 回答

`app.set('views', path.join(__dirname, '/views')) ` 变为`app.set('views', path.join(__dirname, './views'))`.  可以解决我这边的问题

0 回复 有任何疑惑可以回复我~
这又是怎么回事儿啊,连接数据库那个js文件执行就报错。
0 回复 有任何疑惑可以回复我~

报错信息Error: Failed to lookup view "index" in views directory "/views"

表示node在/views这个路径下找不到index文件.

你这里的/views少了个.

正确应该是./views  表示在当前路径下的views文件夹

如果还是有错误,请查看一下views文件夹或者index文件前面有没有多加了个空格...


0 回复 有任何疑惑可以回复我~


总算解决了我也是这个问题


你把res.render('index',{title:'Imooc首页'});中的index改成index.jade就可以了

0 回复 有任何疑惑可以回复我~

views错误与否取决你是怎么运行app.js,我使用cmd到指定目录下运行app.js就不会出现这个问题,而使用webstorm直接运行app.js就会出现这个问题。这个应该是文件目录的问题。想要在两种方式下都可以找到views的方法是使用:

var path = require('path');

app.set('views', path.join(__dirname, 'views'));



0 回复 有任何疑惑可以回复我~

views错误与否取决你是怎么运行app.js,我使用cmd到指定目录下运行app.js就不会出现这个问题,而使用webstorm直接运行app.js就会出现这个问题。这个应该是文件目录的问题。想要在两种方式下都可以找到views的方法是使用:

var path = require('path');

app.set('views', path.join(__dirname, 'views'));

这样就可以了。


1 回复 有任何疑惑可以回复我~

app.set('views', './views/pages')//

app.set('view engine', 'jade')//

我的可以用jade,是路径错了

0 回复 有任何疑惑可以回复我~

【2016-04-22】这个问题我也遇到了并已经解决了,原因是jade改名问题,解决过程如下:

  1. npm 安装jade 时提示jade 改名为了pug(查了下据说是商标权问题),好吧,那我就 npm install pug

  2. 然后@scott老师的实例代码里面有个app.set('view engine','jade'),我想这个也得改成app.set('view engine','pug');

  3. 万万没想到,其实视图文件也得改!由index.jade 改为index.pug。 终于ok了。

4 回复 有任何疑惑可以回复我~
#1

焙烤汉堡

是的,是模板文件后缀名的问题
2016-05-01 回复 有任何疑惑可以回复我~
#2

荒诞的无聊

已经按照您的方法(1 2 3 条执行)修改,但是还是报同样的错误,windows 10 64位
2016-12-05 回复 有任何疑惑可以回复我~


app.set('views','./views/pages');


3 回复 有任何疑惑可以回复我~
#1

qq_太美旳承諾因爲太年輕_0

app.set('views', path.join(__dirname, 'views/pages'));
2016-10-11 回复 有任何疑惑可以回复我~

在views里面添加一个error.jade

你下面应该是定义了一个error的jade模板

1 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

举报

0/150
提交
取消
node+mongodb 建站攻略(一期)
  • 参与学习       91860    人
  • 解答问题       889    个

带你完整实现一个从前端到后端的项目,初中级前端开发工程师必学课程

进入课程

Error: Failed to lookup view "index" in views directory "/views"这是什么原因啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信