NodeJs路由未呈现

时间:2020-05-30 22:01:16

标签: node.js express path routes

我正在构建Express应用程序,并且在路由方面遇到一些问题。 这是我的routes.js

const EDIT_VIDEO = "/edit";
const routes = {
  editVideo: (id) => {
    if (id) {
      return `videos/${id}/edit`;
    } else {
      return EDIT_VIDEO;
    }
  },
  deleteVideo: DELETE_VIDEO,
};

export default routes;

这是我的videoController:

import Video from "../models/Video";
import routes from "../routes";


export const getEditVideo = async (req, res) => {
  const {
    params: { id },
  } = req;
  try 
    const video = await Video.findById(id);
    res.render("editVideo", { pageTitle: `Edit ${video.title}`, video });
  } catch (error) {
    console.log(error);
    res.redirect(routes.home);
  }
};
export const postEditVideo = (req, res) => {};

这是我的videoRouter:

import express from "express";
import routes from "../routes";
import {
  getEditVideo,
  postEditVideo,
} from "../controllers/videoController";

const videoRouter = express.Router();

/*------Video Routes------*/
//Edit
videoRouter.get(routes.editVideo(), getEditVideo);
videoRouter.post(routes.editVideo(), postEditVideo);
export default videoRouter;

当我转到“视频/“ id” /编辑“时,我在浏览器中看到此错误-无法获取/ videos / 5ed2a169eb370432c01f5ebd / edit

我在views目录中有一个名为“ editVideo.pug”的哈巴狗模板,我不知道为什么它不起作用。

0 个答案:

没有答案