【问题标题】:ExpressJS export routes in external file not working for root path外部文件中的 ExpressJS 导出路由不适用于根路径
【发布时间】:2017-07-11 18:19:53
【问题描述】:

我想将我的路线导出到外部文件中。

除了根路由之外的一切都在工作:

localhost/login -> “登录页面”

localhost/ -> 为空

server.js:

// SET UP =============
var express = require("express");
var app = express();
var port = 80;
var bodyParser = require("body-parser");

// CONFIG =============
app.use(express.static(__dirname + "/public"));
app.use(bodyParser.urlencoded({'extended':'true'}));
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' }));

// ROUTES =============
var base = require("./routes/base");
app.use("/",base);

// LISTEN =============
app.listen(port);
console.log("Server listening on port " + port);

base.js:

var express = require('express')
var router = express.Router()

//Home
router.get('/', function (req, res) {
  res.send('Home page')
})

//Login
router.get('/login', function (req, res) {
  res.send('Login page')
})

module.exports = router

【问题讨论】:

  • 检查控制台以查看根路由上的任何错误
  • @noobcode 没有错误。

标签: javascript node.js express routing


【解决方案1】:

您无需在 app.use('/', base) 上指定路由,只需将路由器中间件直接提供给您的 express 应用,并让 base 内的路由器处理请求即可。

app.use(base)

【讨论】:

  • 看起来很明显,但不,localhost/上仍然没有输出
  • @Waterfront,那么您在设置中省略了某些内容,因为它对我有用。我复制并粘贴并没有问题,只需将端口从 80 更改为其他端口即可。可能是你的问题,把你的端口改成 8080 看看能不能用。
  • @Waterfront 此外,即使使用app.use('/', base),这甚至都不是问题,因为它可以按照您现在拥有的方式或我提供的方式工作。
【解决方案2】:

嗯,好的,我找到了我的问题。

我的 ./public 文件夹中有一个空的 index.html

【讨论】:

    【解决方案3】:

    您正在用 /login 路由覆盖根路由,因此只导出 /login 一个。如果您想将所有路线保存在一个文件中,我建议您在base.js 文件中执行以下操作:

    module.exports = function(server){
        server.get('/', function(request, response){
            response.send('Home page.');
        });
    
        server.get('/login', function(request, response){
            response.send('Login page.');
        });
    }
    

    然后在server.js 文件中导入路由使用:

    require('./routes/base.js')(app);
    

    这会立即导入路由并在您创建的 Express 服务器上调用它们的功能 :)

    【讨论】:

    • 我明天会检查它,但它看起来有点乱。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多