我试图按照此处的 Fastify with Typescript 文档组合一个简单的端点:
https://www.fastify.io/docs/v3.1.x/TypeScript/
export default async function foo(fastify: any) {
const MyInstance = new Foo(fastify.db);
app.get<{ Querystring: IQueryString, Headers: IHeaders }>(
"/foo",
async (request: FastifyRequest, reply: FastifyReply) => {
console.log(request.query); // *prints query object*
const { queryObj } = request.query; // *Gives error: Object is of type 'unknown'*
const result = await MyInstance.getFoo(queryObj);
reply.status(200).send(result);
}
);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试访问该对象时,为什么会出现错误?request.query如何修复该错误?
我知道如何使用 pm2 将变量传递给 node.js。但我该如何阅读它们呢? process.argv不包含它。
这就是我指的。
更新
pm2 start file_name.js -- -my_port 8080是正确的做法。process.argv将包含参数。
但运行pm2 describe file_name仍然显示 args -3000 这是一个缓存值。重新启动系统会给我重新启动之前最后传递的参数,在我的例子中是 3000。