報錯 Error: Failed to lookup view "index" in views directory "./views"
入口文件 app.js
```
var express = require('express') //加載 express 模塊
var port = process.env.PORT || 3000 //設置端口,process 獲取全局變量和外圍參數
var app = express() //獲取實例并賦值給一個變量 app
app.set('views', './views') //視圖根目錄
app.set('view engine', 'jade') //設置默認模板引擎
app.listen(port) //監聽端口
console.log('imooc started on port ' + port) //打印日志
// index page 編寫路由
app.get('/', function(req, res) { //兩個參數,傳入 '/' load 的根目錄,
res.render('index',{
title: 'imooc 首頁'
})
})
// detail page
app.get('/movie/:id', function(req, res) {?
res.render('detail',{
title: 'imooc 詳情頁'
})
})
// admin page
app.get('/admin/movie', function(req, res) {?
res.render('admin',{
title: 'imooc 后臺錄入頁'
})
})
// list page
app.get('/admin/list', function(req, res) {?
res.render('list',{
title: 'imooc 列表頁'
})
})
```
imooc-projects/imooc/views/index.pug
```
doctype
html
head
meta(charset="utf-8")
title #{title}
body
h1 #{title}
```
imooc-projects/imooc/views//list.pug
```
doctype
html
head
meta(charset="utf-8")
title #{title}
body
h1 #{title}
```
imooc-projects/imooc/views//detail.pug
```
doctype
html
head
meta(charset="utf-8")
title #{title}
body
h1 #{title}
```
imooc-projects/imooc/views//admin.pug
```
doctype
html
head
meta(charset="utf-8")
title #{title}
body
h1 #{title}
```
報錯:Error: Failed to lookup view "index" in views directory "./views"
**用的解決方案,但是沒有解決,還是報同樣的錯誤。我用的 windows 10 64位**
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了。
煩請回復,謝謝
2017-11-22
以上方法沒有一個能解決問題的?。?!
2017-07-14
我也遇到同樣問題 ,原因是 app.set('views', './views') 我寫成app.set('views', '/views') 相對路徑。win8改好就OK了
2017-01-05
// app.set('views', '/views');
app.set('/', '/views');
這樣看看
2016-12-11
報錯說文件索引不對。 你是不是照搬老師的,建了一個pages 文件夾,然后把 四個jade 文件都放在了pages 文件夾里。如果是我說的這樣,就把這個路徑改成現在的文件路徑 ?res.render('pages/list',{} ) ?,就可以了