问题标签 [express-router]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
126 浏览

javascript - Router.use() 需要一个中间函数,但得到一个对象。module.exports = 路由器存在于页面上

来自 app.js

来自路由/index.js

我目前正在尝试在创建数据库或为博客做任何有意义的事情之前设置我的所有路线。第一次遇到这个问题是因为没用

在我拥有的每个路线页面上。Express 路由器已安装并保存到 package.json。每次我遇到这个错误时,它都是一个快速修复,因为我没有包含导出语句。现在我终于记得添加它了,我仍然收到此错误消息。任何建议或意见,将不胜感激!

0 投票
1 回答
136 浏览

node.js - 无法在 router.post 中获取正文,但可以使用 app.post 节点 js/express

我的快递应用程序有问题。我正在做的是在车把上有一个表格。我只想根据本教程注册一个用户: https ://www.learn2crack.com/2016/09/android-user-registration-login-node-client.html 但我有点将其调整为网络应用程序.

所以我创建了这样的表格:

像这样。然后,当我调用路由器来处理其结果(registerUser)时,我得到 req.body.name 是未定义的(顺便说一句,我检查过,req.query,req.params 等都是未定义的。只是内容没有到达那里到路由器。所以当我这样做时:

这不起作用,它是未定义的。但是,如果我在我的 app.js 文件夹中执行此操作(路由是单独的,但可以与其他调用一起使用,即 GET),它显然可以使用以下简单代码:

对于应用程序,我有以下内容:

对于路由器:

'使用严格';

我使用应用程序但不使用路由器得到它有什么问题?

先感谢您!

0 投票
1 回答
51 浏览

express - expressJS路由问题,简单的东西无法解决

我最近将所有路线代码移到单独的文件中,但现在我的路线分辨率参差不齐。这是一个简单的例子 -

我的 app.js

我的 dataLoader.js

/api/load 工作正常,而 /api/load/jim 和 /api/load/bob 都导致:

我使用 app.all() 而不是 app.use() 因为我在解析主路径“/api/load”时遇到问题,使用 all 似乎可以解决这个问题,但现在我不确定。

“引擎”:{“节点”:“^8.9.1”},“依赖项”:{“蓝鸟”:“^3.5.1”,“正文解析器”:“^1.15.1”,“快递”: "^4.13.4", "mongoose": "4.9.8" } 有什么建议吗?

0 投票
1 回答
23 浏览

express - 平均堆栈根路由不起作用

有人可以帮我为什么默认路由在我的平均应用程序中不起作用,但是下一个路由有效

在这里,当我打开http://localhost:3000时,我看不到任何输出,但是我在 route.js 中定义了正在运行的路由

当我使用http://localhost:3000/main打开页面时,我可以看到输出并在控制台中写入日志

0 投票
3 回答
1202 浏览

javascript - 如何构建大型 express.js 网站

我对 node.js 和 express.js 环境很陌生。但是,我一直在尝试在 express.js 中创建网站(例如 20 多页)背后的代码,而代码不会变得非常大。

使用视图引擎时,路由将传入请求指向索引或他们请求的任何页面。在将视图引擎设置为 HBS 的情况下运行默认的 express-generator 后,您会得到类似

app.use('/', index);

这指向路由文件夹下的 index.js 文件,其中包含类似

然后呈现 index.hbs 文件以在页面上显示我想要的内容。

我的问题是这个。您是否必须为您想要的每个页面设置一个路由,例如个人资料页面、登录页面、关于页面等?如果是这样,如果您有 20 多条路线,这不会在路线中创建很多代码行吗?示例将在 app.js 中

那么每个都需要一个相应的路由 js 文件。

我认为有一种更清洁的路由方式,或者我想太多了?

对我的这个担忧/问题的任何了解都会令人惊叹。

0 投票
2 回答
783 浏览

javascript - 如何在 Node.js 中使用无效的路由参数获取 404 响应

我有一个我正在处理的 node.js API,它在 URL 中有一些参数变量。

我需要完成的任务之一是,当特定 id 无效时(如在 sqlite 数据库中不存在 id 号),它返回 404

典型的网址设置是localhost/api/employees/:id/timesheets

我需要做的是当:idsqlite 数据库中不存在它时,返回 404 但是无论我现在做什么,它都会返回 201。

请从时间表端点在下面找到我的代码,让我知道我哪里出错了,非常感谢。简而言之,假设员工 200 不存在(所以localhost/api/employees/200/timesheets- 我希望在该时间表端点上显示 404,但目前它给出了 200 而不是 404。请注意,目前没有任何方法按照要求提供 404在下面的代码中

谢谢

0 投票
1 回答
61 浏览

node.js - Express 路由器正则表达式问题

我在我的项目中使用快速路由器,我面临以下问题,

我有2条路线如下

当我调用http://localhost:3000/user/list api 时,ABCD 打印在控制台而不是 PQRS 中。

我知道我们可以在路由器中编写正则表达式来处理这种情况。我尝试使用以下代码。

进行此更改后,/user/:id api 停止工作。但是 /user/list api 正在工作

请让我知道,如果我做错了什么。谢谢!

0 投票
1 回答
27 浏览

node.js - Mongoose 错误不会从路由器引发到应用程序

有一个这样的 api 应用程序:

如果存在验证错误,它不会传递给globalErrorHandler,但是捕获并重新抛出错误可以解决问题 [1]:

对于未完成 Promise 实现的猫鼬,这种行为是否正常,或者它可以以其他方式实现?

save使用,find等其他方法时不会引发错误。

0 投票
2 回答
2029 浏览

javascript - 如何使用 React 前端和 express 后端从 url 获取参数?

我正在构建一个带有快速后端的反应应用程序。我现在正在向前端添加套接字 io 聊天功能。一切都按预期工作,但现在我想从 url 访问参数来设置 socket-io 通道名称。

我希望用户访问localhost:3000/foo并且反应前端能够访问foo参数。

最好的方法是什么?

目前我正在提供静态文件,如下所示:

我尝试使用以下代码添加 react-router-dom 但它根本不显示页面:

每当我在 url 的末尾添加一些东西时(我输入的东西不是 '/' 页面不显示。我收到错误“cannot GET /foo”</p>

我也试过这个,但前端也不显示:

我的最终目标是仅在用户访问时显示聊天应用程序localhost:3000/chat/:channelId

0 投票
3 回答
4275 浏览

node.js - Express.js - req.query 与 req.params

在将此标记为重复之前,请理解我无法从其他答案中获得我正在寻找的解释。

customers/1234如果我正在制作一个基于 URL id 寻找客户的应用程序,那么 say和 usingreq.paramscustomers?id=1234using和有什么区别req.query?这两种 url 数据方法有什么不同?