问题标签 [servermiddleware]

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 回答
788 浏览

nuxtjs - 如何访问 serverMiddleware 中 Nuxt.config.js 中声明的 privateRuntimeConfig?

如何访问 serverMiddleware 中 Nuxt.config.js 文件中 privateRuntimeConfig 中声明的配置?

$config 和 context 在 serverMiddleware 中不可用。

我在 Nuxtjs 中使用 serverMiddleware 来编写 api。

它被调用但是我试图从 Nuxt.config.js 文件中的 privateRuntimeConfig 传递一些配置。

0 投票
2 回答
2085 浏览

nuxt.js - serverMiddleware 访问 Nuxt 实例或上下文

我试图从 serverMiddleware 访问 Nuxt 运行时变量

示例我有这个context.$db我从这个插件添加的

nuxt.config.js

~/plugins/db_runtime.js

然后我添加了一个服务器中间件:

服务器中间件:~/api/index.js

无论如何可以从那里访问context.$db吗?IE

0 投票
0 回答
103 浏览

vue.js - Nuxt ServerMiddleware 返回 HTML 文档

我正在构建一个需要调用 Google Geocoder api 的网页。为了从公共视图中隐藏 api 密钥,我正在尝试设置服务器中间件以充当 REST api 端点。

我检查了所有文档并复制了所有文档,但响应始终相同。我从 axios 请求中收到了整个 html 正文,而不是我通过 express 发回的任何其他内容。

在我的组件中,我有以下代码:

在 nuxt.config.js 我有这个设置

在我的项目的根目录中,我有一个 api 文件夹,其中存储了 geocode.js。geocode.js 在下面

再次。响应总是将来自网站的整个 html 文档发回(大约 100 页代码)。即使我将响应设置为固定文本,也不会发送。

我能想到的唯一可能会打断它的细节是,我使用正在使用的@nuxtjs/router 构建模块进行了自己的自定义路由设置。

0 投票
0 回答
174 浏览

javascript - 如何将服务器中间件添加到我自己的 Nuxt 模块?

我正在将使用 Nuxt 构建的 Web 应用程序转变为 Nuxt 模块。我的目标是在 NPM 上发布我的包。我正在按照本指南创建我的模块,但是我找不到有关如何包含包含 API 请求的自定义服务器中间件的信息。我应该在哪里存储这个中间件,我应该如何将它注册到我的模块中?

0 投票
0 回答
48 浏览

nuxt.js - Nuxt:ServerMiddleware 应该暴露一个未定义的句柄

我在module.js文件中使用这样的自定义模块注册 serverMiddleware

这里的中间件函数是从一个单独的文件utils/index.js导入的,看起来像这样

运行应用程序时出现错误

如果我像这样使用nuxt.config.js文件注册utils/index.js文件,那么它可以正常工作

请建议如何使用 module.js 文件注册它。

0 投票
0 回答
18 浏览

nuxt.js - Nuxt REST API(服务器中间件)从 URL 获取 404,但不是 localhost

我们的 UAT url 是https://abc.agency.zz/portal,它反向代理到我们的 Nuxt 应用程序,该应用程序在 UAT 服务器上的 PM2 下运行,端口为 3000。

当我们使用此 URL 时,我们在调用 server-middleware/services.js 文件中定义的 REST API 端点时遇到问题。我们得到一个 404 表示找不到“/portal/api/endpointname”。“门户”只是 URL 的一部分,本身并不是我们应用程序的一部分(如果有意义的话)。

如果我们使用“http://localhost:3000/api/endpoint”,它会正确执行。URL 中的“/portal”有些东西让 Nuxt 对资源的实际位置感到困惑。

我们如何配置我们的应用程序以“忽略”该部分,以便正确执行 API?