【问题标题】:Basic Express Routes puzzle基本快速路线拼图
【发布时间】:2022-08-14 11:59:59
【问题描述】:

我陷入了 Mozilla js 教程,需要帮助。以下是 3 个文件的摘录:

一个)

app.js 文件中的 2 部分显示了在哪里可以找到路由器处理程序,然后在哪里展示它们(我的猜测)

    //app.js
    //the following 3 vars do sit in routes folder, code copy-pasted var 3 my addition
    var indexRouter = require(\'./routes/index\');
    var usersRouter = require(\'./routes/users\');

    var coolRouter = require(\'./routes/cool\');

    var app = express();

    ....

    //the following 2 \'use\' work just fine, the third sends err 404, \'not found\'
    app.use(\'/\', indexRouter);
    app.use(\'/users\', usersRouter);

    app.use(\'/users/cool\', coolRouter);

b) 部分 users.js 位于 routes 文件夹中:

    /* GET users listing. */
    router.get(\'/\', function(req, res, next) {
      res.send(\'respond with a resource\');
    });

c)从以前复制并位于路由文件夹中的cool.js的一部分:

    /* GET cool text. */
    router.get(\'/\', function(req, res, next) {
      res.send(\'you are cool, kid!\');
    });

我想知道为什么它不起作用。

  • “不工作”是什么意思?
  • 是的,什么不起作用?清楚你的问题__在你编辑你的问题之前,我拒绝投票
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如它目前所写的那样,很难准确地说出你在问什么。

标签: javascript node.js express


【解决方案1】:

你无法到达的原因/users/cool是您的请求正在被/users端点。 为了让您的代码按预期工作,您必须像这样放置您的路线:

app.use('/', indexRouter);
app.use('/users/cool', coolRouter);
app.use('/users', usersRouter);

随着/users/cool终点之前/users端点。这样,请求/users/cool不会被另一个端点捕获。

【讨论】:

  • 是的!现在可以了!我发誓我永远不会猜到它!我用谷歌搜索,谷歌广告用谷歌搜索它,但在任何教程中都没有提示。
【解决方案2】:

我很抱歉我的问题/问题口齿不清。 Eric Qvarnström 的回答彻底解决了这个问题。 谢谢你,埃里克!你是我的英雄!

【讨论】:

    猜你喜欢
    • 2015-07-22
    • 1970-01-01
    • 2013-10-18
    • 2020-01-30
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多