无需在所有路由中导入的全局 nextjs 中间件

A global nextjs middleware without need for import in all the routes

TLDR;

nextjs 的中间件,例如 express,我只定义一次,它会自动应用于我的所有路由

我想要像 express 中那样的中间件样式.好吧,我需要类似于 NextJs

的东西

这些是我试用和使用了一段时间的

1:使用高阶组件(HOC):

我不喜欢这种方法,因为有这些缺点

2:使用next-connect

由于这些缺点,我不喜欢使用这个包

为什么不使用像 express 这样的自定义服务器呢?问题是,当我使用 nextjs 时,我只想使用 nextjs,同时使用自定义服务器将失去 nextjs 的许多美好未来,这也是我使用 nextjs

的部分原因

您可以实施 _app.tsx,这将 运行 所有页面,但它也有一些缺点,例如禁用自动静态生成。

另一种选择是使用 express 本身实现自定义服务器,如 this example

所示