最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Simple ExpressNode.js MVC路由问题

IT培训 admin 10浏览 0评论

Simple Express / Node.js MVC路由问题

有一个简单的路由问题。我有我的主要index.js路由器,然后有一个辅助路由器文件,然后是一个控制器。由于某些原因,它将无法正确路由到文件并给出404错误。

routers / index.js

"use strict";

const router = require("express").Router();
const documentRoutes = require("./documentRoutes");

router.use("/docs/*", documentRoutes);

routers / documentRoutes.js

var express = require('express');
var router = express.Router();
var documentController = require("../controllers/documentController");

router.get('/community_service_log.docx', documentControllermunity_service_log);

module.exports = router;

controllers / documentController.js

"use strict";

var path = require('path');     
var file = path.join(__dirname, '../views/docs/community_service_log.docx');    


module.exports = {
    community_service_log: (req, res) => {
       res.download(file, function (err) {
       if (err) {
           console.log("Error");
           console.log(err);
       } else {
           console.log("Success");
       }    
        });
    }
};

但是在日志中却显示“ GET /docs/community_service_log.docx 404”

我也尝试过更改

router.get('/community_service_log.docx', documentControllermunity_service_log);

router.get('/docs/community_service_log.docx', documentControllermunity_service_log);

但是它仍然不起作用。我想念什么?

文件路径正确。它位于/ views / docs /中,在我的主要app.js文件中,我已经通过执行app.set('views', path.join(__dirname, 'views'));设置了views目录。

有一个简单的路由问题。我有我的主要index.js路由器,然后有一个辅助路由器文件,然后是一个控制器。由于某种原因,它将无法正确路由到文件并给出404错误。 ...

回答如下:

只需像这样将routes/index.js文件的路径从/docs/*更改为/docs

Simple Express / Node.js MVC路由问题

有一个简单的路由问题。我有我的主要index.js路由器,然后有一个辅助路由器文件,然后是一个控制器。由于某些原因,它将无法正确路由到文件并给出404错误。

routers / index.js

"use strict";

const router = require("express").Router();
const documentRoutes = require("./documentRoutes");

router.use("/docs/*", documentRoutes);

routers / documentRoutes.js

var express = require('express');
var router = express.Router();
var documentController = require("../controllers/documentController");

router.get('/community_service_log.docx', documentControllermunity_service_log);

module.exports = router;

controllers / documentController.js

"use strict";

var path = require('path');     
var file = path.join(__dirname, '../views/docs/community_service_log.docx');    


module.exports = {
    community_service_log: (req, res) => {
       res.download(file, function (err) {
       if (err) {
           console.log("Error");
           console.log(err);
       } else {
           console.log("Success");
       }    
        });
    }
};

但是在日志中却显示“ GET /docs/community_service_log.docx 404”

我也尝试过更改

router.get('/community_service_log.docx', documentControllermunity_service_log);

router.get('/docs/community_service_log.docx', documentControllermunity_service_log);

但是它仍然不起作用。我想念什么?

文件路径正确。它位于/ views / docs /中,在我的主要app.js文件中,我已经通过执行app.set('views', path.join(__dirname, 'views'));设置了views目录。

有一个简单的路由问题。我有我的主要index.js路由器,然后有一个辅助路由器文件,然后是一个控制器。由于某种原因,它将无法正确路由到文件并给出404错误。 ...

回答如下:

只需像这样将routes/index.js文件的路径从/docs/*更改为/docs

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论