问题标签 [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.
node.js - 如何解决“不正常超时!” 在测试 fastify 路线时?
我正在尝试使用tap
. 这是测试文件:
运行测试后,我在控制台中看到:
使用 npm 脚本运行测试:
"test": "env-cmd ./test.env tap tests/routes/status.test.js"
这是app.js
with buildFastify
函数:buildFastify on gist
javascript - 如何模拟这种方法?
我想模拟下面的代码行。并且请解释我如何详细模拟这个,因为我是 javascript 和编写测试用例的新手。下面的代码将返回一个承诺。
我的同事给出了一个我无法理解的解决方案。
node.js - 结果性能节点使用 mongo nestJs 或 fastify
我做了两个项目,一个使用nestJS/mongoDB,另一个使用Fastify/MongoDB,以比较两个框架的性能。我做了一个简单的获取资源 API 来查询大约 400Kb 的 mongo 文档。两个项目路由都以超过 300 毫秒的时间响应 JSON 文档。有人可以向我解释额外的 280 毫秒是从哪里来的,因为 mongo 的响应时间不超过 20 毫秒。
这与他们同时响应的框架无关。是不是API做的压缩,是节点服务器的时间
当我分析代码时,mongo 响应不超过 20 毫秒,在这两种情况下,获取处理程序立即返回的文档。没有样板代码或额外的日志记录,只有普通的 HttpServer。
在 Fastify 我正在这样做
在像这样的 NestJS
javascript - 如何使用 fastify & nestjs 发送文件?
我有以下前端中间件:
它适用于 express,但适用于 fastify, res.sendFile
is undefined
,那么我该如何解决呢?
google-cloud-platform - 为什么在使用 fastify 日志记录时在 GCP 中将错误记录为信息?
我们已经将 Fastify 配置为使用以下信息记录为信息:
从我们的错误处理程序中,我们将每个错误记录为:
但是 GCP 中的日志被记录为信息。
奖励:JSON 日志是按行分隔的,我猜是为了使用 Pino 和 NDJSON。
谢谢
next.js - 可以全局获取 next.js 请求对象吗?
我正在使用fastify
withnext.js
并且我需要包括跟踪(requestId
到目前为止是问题)。我现在正在做的是创建一个fastify
onRequest 钩子并生成一个requestId
值并将其设置在请求对象中(也可以作为请求标头)。我想要访问这个请求对象有两个原因:
- 在记录器对象中(
pino
在这种情况下,我想requestId
在所有自定义服务器端日志中包含 )。 - 在需要向其他服务发出的所有请求中,都需要包含
requestId
in 标头。
也许我错过了一些微不足道的事情,而且我没有以最好的方式做到这一点。
这里有一些片段
这就是我生成 reqId 的方式
皮诺实例
这是一个插件,用于获取生成的 reqId 并将其设置为请求对象中的查询属性
使用时我没有问题,fastify.log.info(...)
因为在每个请求中如何覆盖记录器,它将包含reqId
作为子日志。问题是我想创建一个通用记录器以在任何部分使用,而 Fastify 记录器在 React 组件中不可用(例如在 处写入日志getInitialProps
)。另一个重要的想法是我需要reqId
在我发送给其他服务的所有请求中包含这个(例如:在获取数据时),这就是为什么我尝试将此值存储在请求对象中但需要获取它的原因。
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(节点入口点)
知道为什么这不起作用吗?在此先感谢您的时间。
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
.
node.js - 如何使用 aggregate() 和 $sample 获取随机 mongodb 文档?
我试图在一个名为“模板”的集合中获取 2 个随机文档,但我只得到一个内部服务器错误。
我已经在 mongo shell 中成功测试了以下代码:
fastify
语法会不会有问题?
我收到内部服务器错误,需要 2 个随机文档。