Error: Failed to lookup view "index" in views directory "/Users/***/views"
Node.js
+ Express
でテンプレートエンジンをejs
で設定するとエラーとなった
フォルダ構成
エラー時のappフォルダ以下の構成
├── package.json
├── src
│ ├── index.ts
│ ├── routes
│ │ └── index.js
│ └── views
│ └── index.ejs
├── tsconfig.json
├── yarn-error.log
└── yarn.lock
解決した方法
app.set('views', __dirname + '/views')
を追加
index.ts
import express from 'express';
const app: express.Express = express();
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views'); // ここを追加
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// Listener
app.listen(3000, () => {
console.log('Start on ', app.listen().address());
});
app.get('/', (req, res) => {
res.render('index');
});
Reference