首页 > 解决方案 > 找不到我的快速车把

问题描述

这是我当前项目中相关文件夹的布局:

我要访问的 URL 是:'/users/profile/:id'

  1. htmlRoutes.js 正确链接到我的 server.js
  2. 我的 htmlRoutes.js 从 userControl.js 导入一个函数(在控制器中)
  3. 我的 userControls.js 是我的代码应该将用户带到他们的个人资料的地方。

相关代码行:

app.use('/', require('./routes/htmlRoutes'))
app.engine('handlebars', exphbs({
    layoutsDir: (path.join(__dirname, '/views/layouts')), 
    defaultLayout:'main'}
))
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)
// 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 和视图之间有一个“开发”文件夹?

标签: expressexpress-handlebars

解决方案


推荐阅读