node.js - 在视图目录中查找视图“索引”失败 | 快递 | HBS 代替 handlebars.js
问题描述
我已经为动态模板安装了 hbs 而不是车把,现在我遇到了这个问题。
Error: Failed to lookup view "index" in views directory "/home/trijay/Desktop/NodeJs/web-server/src/views"
at Function.render (/home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/application.js:580:17)
at ServerResponse.render (/home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/response.js:1008:7)
at app.get (/home/trijay/Desktop/NodeJs/web-server/src/app.js:14:9)
at Layer.handle [as handle_request] (/home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/router/layer.js:95:5)
at next (/home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/router/layer.js:95:5)
at /home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/router/index.js:335:12)
at next (/home/trijay/Desktop/NodeJs/web-server/node_modules/express/lib/router/index.js:275:10)
下面是我的 app.js 代码,并且我已经安装了 hbs, express 库。任何帮助将不胜感激
//app.js
const express = require('express')
const path = require('path')
const publicPath = path.join(__dirname, '../public') //for accessing comeplete file
const app = express() //express being initialised
app.use(express.static(publicPath))
app.set('view engine', 'hbs') //use to set handle bars. we need to provide key value pair
app.get('', (req, res) => {
res.render('index') //need to provide the hbs file name which you will find in view
})
app.get('/weather', (req, res) => {
res.send({
latitude: -57.89,
longitude: 78.42,
location : 'New Delhi'
})
})
app.listen(3000, () => {
console.log('Server Started on port 3000')
})
解决方案
将views
目录添加到引擎选项:
app.set('view engine', 'hbs')
app.set('views', path.join(__dirname, '../views'));
正如您在错误消息中看到的:
Error: Failed to lookup view "index" in views directory "/home/trijay/Desktop/NodeJs/web-server/src/views"
res.render('index')
指向目录中的某处src
。
推荐阅读
- python - 在自定义用户的配置文件中发现不需要的随机值
- c++ - 用 X C++ 练习替换字符串中的字符
- python - 单个类中的 Python 函数调用
- azure - Azure Function 部署缓慢
- javascript - 如何在 ionic 3 中实现进度条?
- python - python 中的 os.listdir() 不显示目录的所有文件。它跳过了其中的几个
- c# - Xamarin Forms - 识别设备是否以纵向模式锁定
- javascript - 画布中对象之间的碰撞检查始终为正
- sql - Amazon Redshift:连接列内容略有不同的两列
- html - 禁用文本在 IE 和 Microsoft Edge 的网页上不起作用