问题标签 [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 回答
472 浏览

javascript - 为什么我没有完成 POSTMAN 的 PUT 请求?

在开始我的应用程序的路线之前,我已经使用 POSTMAN 创建了一些请求,其中的 PUT 并没有完全发送给我。

这是我在 ExpressJS 中的服务器配置:

它通常对我有用,这是我正在使用的路由器,它位于 routes 文件夹中的 tasks.js 文件中:

在控制台中似乎没有给我任何错误。我用普通的 POSTMAN 发出请求,它返回控制台的日志。甚至服务器也会回答 json 和所有内容。但是数据库中的数据没有改变。GET 或 POST 不会发生这种情况,相反,一切都很顺利。

在这里,我将告诉您如何使用 POSTMAN 提出请求。首先,我将向您展示我已经在数据库中拥有的数据,以及通常使用浏览器完成的获取请求:

带有 GET 请求的数据

准备好了,当我发出 PUT 请求时,这是我在 POSTMAN 中的配置:

邮递员配置 1

这是一个 json 类型的内容类型,因为这就是我要处理的内容,然后是正文:

邮递员配置 2

这是控制台中的答案:

安慰

你认为它可能是什么?

0 投票
1 回答
458 浏览

node.js - 快速路由器呼叫错误的路由

所以,我有一个定义了一些路由的 API(我不会列出所有路由),除非我更改它的名称,否则其中一个永远不会被调用。

这就是我在代码中定义它们的方式:

我注意到的是,由于第一个路由被定义为“.../a/b/:params”,第二个被定义为“.../a/b/c”,第一个总是被调用。

我已经查看了很多问题,但我还没有找到答案或任何有类似问题的人,我想知道我能做些什么来解决这个问题,而不仅仅是重命名路线。

先感谢您。

0 投票
0 回答
224 浏览

node.js - Heroku 错误无法 GET / Node/Express/Router

我在 Heroku 上托管 postgres 数据库和应用程序。Express Router 在我的本地主机上工作。由于我已部署到 Heroku,因此在索引路由上出现错误。但是 URL 路由在输入时起作用。

我已尝试确保正确设置了 PORT。我尝试通过更改路由来测试 Express/Router 是否真的有效。我已经尝试过堆栈溢出的其他答案。我检查了我的 proct 文件。

应用程序.js

blogs.js //路由文件夹

不知道是什么导致 Express Router 无法在 Heroku 上运行。

0 投票
1 回答
203 浏览

node.js - 我可以为每个路由器指定一个特定的“视图”路径吗?

根据Express Docs,我可以使用<Application>.set("views", "my/views/path");设置一个通用目录来存储我的视图。我已经设置了我的项目,以便我的每条路线都有自己的目录和自己的视图(以及其他特定于路线的内容)赞美我基于子域的方法。我希望能够做类似的事情<Router>.set("views", "router/views/");,这样,当我想渲染一个页面时,我可以简单地调用res.render("homepage");而不是调用res.render("<router>/views/homepage");那个特定的路由器。

现在,我的根目录中有以下设置app.js

在我的“博客”路由器(​​对于我的blog.website.com子域)中,我有:

我希望能够"views"为每个路由器指定一个目录,类似于router.set("views");

0 投票
1 回答
4770 浏览

azure - Azure:无法将委派添加到现有子网

我正在尝试在应用服务中包含现有的 VNET,但我遇到了这个问题:

无法将委派添加到现有子网。: 子网 /subscriptions 的委派无法从 [] 更改为 [Microsoft.Web/serverfarms],因为它正在被资源使用

Azure 限制?一个 VNET 可以使用多少资源?

0 投票
1 回答
38 浏览

express - 带有中间件错误处理的快速路由器

我有一个关于中间件错误处理的问题,特别是 multer。我有这条路线:

然后我有 saveFile 中间件:

我遇到的问题是,当我上传字段名称不是 的文件时file,出现错误MulterError: Unexpected field。我想以某种方式捕捉到这个错误。但我什至不知道在哪里做。我怎么做?

0 投票
2 回答
446 浏览

express - Express 中间件,对请求对象的更改不会持续存在

我正在尝试在 Express 中实现一些应该为所有路由调用的中间件。这个中间件应该改变请求对象。

我已经尝试了几件事,但似乎一直遇到同样的问题。离开中间件后,看起来请求对象就变回了它的原始状态。

目前我的代码类似于(我用一个简约的例子简化了它):

路由.js:

index.js:

应用程序.js:

如您所见,我省略了一些代码以使其更具可读性。这是获取响应并设置服务器的代码。

同样,我期待 req.params.myString 在端点中可用。有谁看到我做错了什么?

0 投票
0 回答
75 浏览

javascript - 将路由器逻辑拆分为单独的功能

我在 Node.js 中有一个路由器的获取请求处理程序,它有很多代码:

如何将其拆分为小函数并从路由器调用这些函数?

0 投票
0 回答
45 浏览

javascript - 如何在 Express 中定义路由参数用冒号分隔的路由?

我正在尝试制作的路线类似于以下内容:

考虑到param1|2|3所有路由参数,路由定义应该看起来像

在请求被 URI 编码之前效果很好,即

我知道我可以定义路线两次,比如

但我真的很想避免这种定义。我尝试过使用encodeURIComponent,字符转义和正则表达式,但没有一个允许同时使用这两种方式。

有没有比两次定义相同路线更好的方法?

0 投票
1 回答
307 浏览

node.js - Express.js 在路由之间传递 API 数据时遇到问题

我不知道如何在路由之间传递数据。我已经从 API 成功获取了 json 数据,但现在我想将该数据传递给 index.hbs 但我不知道如何。我已将所有代码放在下面。

主文件app.js

indexRouter 文件routes/index.js

控制器文件控制器/index.js

++模板引擎文件**views/index.hbs