Qwik 插件

Qwik 插件,命名为 plugin.tsplugin@<name>.ts,在根布局执行之前处理传入请求,并位于 src/routes 目录中。这些插件中的请求处理程序,如 onRequestonGetonPost,在 server$ 函数之前调用。对于多个插件,plugin.ts 处理程序首先执行,然后按字母顺序执行 plugin@<name>.ts 处理程序。中间件函数应在 plugin.ts 中定义,以确保对所有请求执行。

plugin.ts 文件的执行顺序

如果存在 plugin.ts 文件,并且它导出了请求处理程序,则它们首先执行。

然后,按文件名字母顺序执行来自 plugin@<name>.ts 文件的导出请求处理程序。例如,来自 [email protected]onGet 在来自 [email protected]onGet 之前执行,因为 auth 在字母顺序上位于 security 之前。

最后,如果存在 server$ 函数,则它最后执行。

中间件和 server$

使用 server$ 时,了解 中间件函数 的执行方式很重要。在 layout 文件中定义的中间件函数不会为 server$ 请求运行。这可能会导致混淆,尤其是在开发人员期望某些中间件对页面请求和 server$ 请求都执行时。

为了确保中间件函数对这两种类型的请求都运行,它应该在 plugin.ts 文件中定义。这确保了中间件对所有传入请求(无论它们是普通页面请求还是 server$ 请求)都一致地执行。

贡献者

感谢所有帮助改进这份文档的贡献者!

  • patrickjs