问题标签 [fastify]

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

node.js - 如何解决“不正常超时!” 在测试 fastify 路线时?

我正在尝试使用tap. 这是测试文件:

运行测试后,我在控制台中看到:

使用 npm 脚本运行测试: "test": "env-cmd ./test.env tap tests/routes/status.test.js"

这是app.jswith buildFastify函数:buildFastify on gist

0 投票
1 回答
577 浏览

javascript - 如何模拟这种方法?

我想模拟下面的代码行。并且请解释我如何详细模拟这个,因为我是 javascript 和编写测试用例的新手。下面的代码将返回一个承诺。

我的同事给出了一个我无法理解的解决方案。

0 投票
1 回答
305 浏览

node.js - 结果性能节点使用 mongo nestJs 或 fastify

我做了两个项目,一个使用nestJS/mongoDB,另一个使用Fastify/MongoDB,以比较两个框架的性能。我做了一个简单的获取资源 API 来查询大约 400Kb 的 mongo 文档。两个项目路由都以超过 300 毫秒的时间响应 JSON 文档。有人可以向我解释额外的 280 毫秒是从哪里来的,因为 mongo 的响应时间不超过 20 毫秒。

这与他们同时响应的框架无关。是不是API做的压缩,是节点服务器的时间

当我分析代码时,mongo 响应不超过 20 毫秒,在这两种情况下,获取处理程序立即返回的文档。没有样板代码或额外的日志记录,只有普通的 HttpServer。

在 Fastify 我正在这样做

在像这样的 NestJS

0 投票
2 回答
11325 浏览

javascript - 如何使用 fastify & nestjs 发送文件?

我有以下前端中间件:

它适用于 express,但适用于 fastify, res.sendFileis undefined,那么我该如何解决呢?

0 投票
1 回答
430 浏览

javascript - 控制器在没有 replay 的情况下不返回结果。使用 fastify 平台发送

我有登录路线,返回用户:

我的问题是它不会返回任何内容(卡在待处理...)),除非我这样做reply.send(foundUser);

我正在使用允许 cors 来源的代理:

链接到源代码。

0 投票
0 回答
247 浏览

google-cloud-platform - 为什么在使用 fastify 日志记录时在 GCP 中将错误记录为信息?

我们已经将 Fastify 配置为使用以下信息记录为信息:

从我们的错误处理程序中,我们将每个错误记录为:

但是 GCP 中的日志被记录为信息。

奖励:JSON 日志是按行分隔的,我猜是为了使用 Pino 和 NDJSON。

谢谢

0 投票
1 回答
1635 浏览

next.js - 可以全局获取 next.js 请求对象吗?

我正在使用fastifywithnext.js并且我需要包括跟踪(requestId到目前为止是问题)。我现在正在做的是创建一个fastifyonRequest 钩子并生成一个requestId值并将其设置在请求对象中(也可以作为请求标头)。我想要访问这个请求对象有两个原因:

  1. 在记录器对象中(pino在这种情况下,我想requestId在所有自定义服务器端日志中包含 )。
  2. 在需要向其他服务发出的所有请求中,都需要包含requestIdin 标头。

也许我错过了一些微不足道的事情,而且我没有以最好的方式做到这一点。

这里有一些片段

这就是我生成 reqId 的方式

皮诺实例

这是一个插件,用于获取生成的 reqId 并将其设置为请求对象中的查询属性

使用时我没有问题,fastify.log.info(...)因为在每个请求中如何覆盖记录器,它将包含reqId作为子日志。问题是我想创建一个通用记录器以在任何部分使用,而 Fastify 记录器在 React 组件中不可用(例如在 处写入日志getInitialProps)。另一个重要的想法是我需要reqId在我发送给其他服务的所有请求中包含这个(例如:在获取数据时),这就是为什么我尝试将此值存储在请求对象中但需要获取它的原因。

0 投票
1 回答
113 浏览

node.js - ObjectionJS - 在数据层文件中分组模型

fastify我有一个运行fastify-objectionjs.

为了整洁,我想将所有模型分组到一个名为 的文件中,在该文件中导出文件夹_main.js内的模型数组。models

由于 fastify-objectionjs 注册需要一个模型数组,我想我可以从我的导入数组_main.js并将其原样提供给注册函数。

但是 ObjectionJS 告诉我提供的模型无效

/app.js(节点入口点)

/models/_main.js

/models/user.model.js

我似乎在文件流中找不到问题,但如果我动态创建模型数组,应用程序会顺利启动:

/app.js(节点入口点)

知道为什么这不起作用吗?在此先感谢您的时间。

0 投票
2 回答
1205 浏览

node.js - Wait for one plugin to finish registering, before proceeding to register the next one

How can I wait for one plugin to finish registering, before proceeding to register the next one?

I wish to initialize the connection to the database using credentials that are retrieved from a .env file using the plugin fastify-env.

Fastify proceeds to register the fastify-sequelize-plugin before the environment variables are loaded. This leads to the error TypeError: Cannot read property 'DB_NAME' of undefined.

0 投票
1 回答
1923 浏览

node.js - 如何使用 aggregate() 和 $sample 获取随机 mongodb 文档?

我试图在一个名为“模板”的集合中获取 2 个随机文档,但我只得到一个内部服务器错误。

我已经在 mongo shell 中成功测试了以下代码:

fastify语法会不会有问题?

我收到内部服务器错误,需要 2 个随机文档。