Qwik 插件
Qwik 插件,命名为 plugin.ts
或 plugin@<name>.ts
,在根布局执行之前处理传入请求,并位于 src/routes
目录中。这些插件中的请求处理程序,如 onRequest
、onGet
、onPost
,在 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$
请求)都一致地执行。