我尝试使用 clerk 安装 authMiddleware 以获得教程,但收到错误消息,指出它不存在。
我正在为本教程安装 clerk:https://www.youtube.com/watch?v =a02JAryRPVU ,然后运行 npm install @clerk/nextjs。
然后我输入此代码以使用 authMiddleware 启用身份验证
import { authMiddleware } from "@clerk/nextjs";
export default authMiddleware({});
export const config = {
matcher: ["/((?!.+.[w]+$|_next).*)", "/", "/(api|trpc)(.*)"],
};
但我收到一个错误,说模块“@clerk/nextjs”没有导出成员“authMiddleware”。
通过 localhost 运行代码时,出现此错误: TypeError: (0 , clerk_nextjs__WEBPACK_IMPORTED_MODULE_0 _.authMiddleware) 不是函数
我不知道如何解决这个问题,任何帮助将不胜感激。
我认为问题出在最新版本的 clerk 上,您可以使用之前稳定版本的 clerk ( https://www.npmjs.com/package/@clerk/nextjs/v/4.30.0 ),这个解决方案解决了我的问题。
业务员团队已弃用
authMiddleware
。他们建议您改用clerkMiddleware()
。 https://clerk.com/docs/references/nextjs/auth-middleware因此,如果您使用 clerkMiddleware(),您的 middleware.ts 现在将如下所示。