【发布时间】:2022-11-01 13:50:50
【问题描述】:
默认情况下,NextJs 中间件使用 Edge 运行时运行,据我了解,这是因为中间件旨在运行在边缘网络而不是主服务器上(在边缘网络上运行减少了延迟,因此这提供了改进在某些情况下的表现)。
这样做的缺点是 Edge 运行时在它可以运行的内容方面存在一些限制(列表 here)。
我的问题是:有没有办法让中间件使用默认运行时而不是 Edge 运行时运行?
在我的情况下,我们没有在边缘托管任何东西,因此边缘运行时对我们施加了一些限制而没有提供任何好处。一种可能的解决方法是使用自定义中间件而不是 NextJs 中间件,但除非这是唯一的选择,否则我宁愿使用 NextJs 中间件架构和管道而不是构建我们自己的。
P.s.:我们正在使用 NextJs 12.1.6 (latest 在撰写此问题时的版本)
【问题讨论】:
标签: next.js middleware