Я получил ошибку при сборке приложения express. js с мопсом - PullRequest
0 голосов
/ 25 февраля 2020

Когда я искал URL: http://localhost: 3000 / users / edit-profile страница возвращается

Ошибка: не удалось найти представление «Сведения о пользователе» в каталоге представлений «C: \ Users \ SuJinKim \ Documents \ WeTube1 \ views» в Function.render (C: \ Users \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ application. js: 580: 17) в ServerResponse.render (C: \ Users \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ response. js: 1012: 7) в userDetail (C: \ Users \ SuJinKim \ Documents \ WeTube1 \ controllers / userController. js: 5: 45) в Layer.handle [как handle_request] (C: \ Users \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ router \ layer. js: 95: 5) в следующем (C: \ Users \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ router \ route. js: 137: 13) в Route.dispatch (C: \ Users \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ router \ route. js: 112: 3) в Layer.handle [как handle_request] (C: \ Users \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ маршрутизатор \ Лэ r. js: 95: 5) в C: \ Users \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ router \ index. js: 281: 22 в параметре (C: \ Users) \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ router \ index. js: 354: 14) в параметре (C: \ Users \ SuJinKim \ Documents \ WeTube1 \ node_modules \ express \ lib \ router \ index . js: 365: 14)

Я думал, что это из-за порядка маршрутизаторов, но .. это не сработало

У меня даже нет данных пользователя в моих кодах и файлы мопса ...

это мое основное приложение. js

    import "core-js"
    import express from "express";
    import morgan from "morgan";
    import helmet from "helmet"
    import bodyParser from "body-parser";
    import cookieParser from "cookie-parser";
    import { localsMiddleware } from "./middlewares";
    import globalRouter from "./routers/globalRouter"
    import userRouter from "./routers/userRouter";
    import videoRouter from "./routers/videoRouter"
    import routes from "./routes"
    const app = express();

    app.set("view engine", "pug");
    app.use(helmet());
    app.use(cookieParser());
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true}));
    app.use(morgan("dev"));
    app.use(localsMiddleware)

    app.use("/", globalRouter);
    app.use(routes.users, userRouter);
    app.use(routes.videos, videoRouter);



    export default app;

это мой userRouter. js

    import express from "express";
    import routes from "../routes";
    import { userDetail, editProfile, changePassword } from "../controllers/userController";

    const userRouter = express.Router();

    userRouter.get(routes.editProfile, editProfile);
    userRouter.get(routes.changePassword, changePassword);
    userRouter.get(routes.userDetail, userDetail);

    export default userRouter;

это мой userController. js

    export const join = (req, res) => res.render("join", { pageTitle: "Join"});
    export const login = (req, res) => res.render("login", { pageTitle: "Login"});
    export const logout = (req, res) => res.render("logout", { pageTitle: "Logout"});
    export const userDetail = (req, res) => res.render("userDetail", { pageTitle: "User Detail"});
    export const editProfile = (req, res) => res.render("editProfile", { pageTitle: "Edit Profile"});
    export const changePassword = (req, res) => res.render("changePassword", { pageTitle: "Change 
    Password"}); 

и это мои маршруты. js


    // Global
    const HOME = "/";
    const JOIN = "/join";
    const LOGIN = "/login";
    const LOGOUT = "/logout";
    const SEARCH = "/search";

    // Users
    const USERS = "/users";
    const USER_DETAIL = "/:id";
    const EDIT_PROFILE = "/edit-profile";
    const CHANGE_PASSWORD = "/change-password";

    // Videos
    const VIDEOS = "/videos";
    const UPLOAD = "/upload"
    const VIDEO_DETAIL = "/:id";
    const EDIT_VIDEO = "/:id/edit"
    const DELETE_VIDEO = "/:id/delete"

    const routes = {
        home: HOME,
        join: JOIN,
        login: LOGIN,
        logout: LOGOUT,
        search: SEARCH,
        users: USERS,
        userDetail: USER_DETAIL,
        editProfile: EDIT_PROFILE,
        changePassword: CHANGE_PASSWORD,
        videos: VIDEOS,
        upload: UPLOAD,
        videoDetail: VIDEO_DETAIL,
        editVideo: EDIT_VIDEO,
        deleteVideo: DELETE_VIDEO
      };

      export default routes;

, как вы можете видеть, здесь нет константы или переменной "Сведения о пользователе". Я не могу найти, что с ним не так ... мне бы очень понравилось с вашей помощью!

Вот файлы мопса в папке представлений .. В представлениях есть changePassword.pug, deleteVieo.pug, editProfile.pug, home.pug, join.pug, login.pug, logout.pug, search.pug, upload.pug, userDetail.pug, videoDetail.pug.

...