express - 找不到我的快速车把
问题描述
这是我当前项目中相关文件夹的布局:
- 包.json
- 开发
- 服务器.js
- 路线
- htmlRoutes.js
- 控制器
- 用户控件.js
- 意见
- home.handlebars
- profile.handlebars
- 布局
- main.handlebars
我要访问的 URL 是:'/users/profile/:id'
- htmlRoutes.js 正确链接到我的 server.js
- 我的 htmlRoutes.js 从 userControl.js 导入一个函数(在控制器中)
- 我的 userControls.js 是我的代码应该将用户带到他们的个人资料的地方。
相关代码行:
- 服务器.js
app.use('/', require('./routes/htmlRoutes'))
app.engine('handlebars', exphbs({
layoutsDir: (path.join(__dirname, '/views/layouts')),
defaultLayout:'main'}
))
- htmlRoutes.js
const { takeUserToProfile } = require('../controllers/userControl')
// this one actually works
router.get('/', (req, res) => {
res.render(path.join(__dirname, '../views/home'))
})
router.get('/users/profile/:id', takeUserToProfile)
- 用户控件.js
// this one gives me an error
exports.takeUserToProfile = async (req, res) => {
const data = await User.findById(req.params.id)
res.render('profile', {
username: data.username,
firstName: data.firstName,
lastName: data.lastName
})
}
我尝试了许多不同的方法,但得到的只是这样的错误:
错误:无法在视图目录“C:\Users\User\Desktop\repoName\views”中查找视图“配置文件”
有没有办法告诉我的文件在我的 repoName 和视图之间有一个“开发”文件夹?
解决方案
推荐阅读
- php - 在 SS4 中扩展 SilverStripe 方法
- unity3d - 在 Unity 中找不到播放服务解析器
- html - 使第二个子元素符合父高度且不重叠
- python - 如何通过用户输入的数字多次打印一个字符?
- c - CS50 信用卡验证
- google-cloud-platform - 使用 DataFlow 中的“从 SQL 创建作业”选项卡将数据从 BigQuery 导出到 Google Cloud SQL
- docker - 去微应用程序总是得到“/greeter-srv”没有这样的文件或目录 kubernetes
- c# - 添加多个反应以嵌入
- java - 使用 Runtime.exec 从 Java 运行 python 脚本(导入 spacy)
- uno-platform - 您如何将文件移交给用户?