我有以下中间件。我说过当URL为"/contact"
或"/admin"
或"/about"
时,中间件必须运行。但当我转到/
或http://localhost:3000
时,中间件将触发。它必须在URL为"/contact"
或"/admin"
或"/about"
时触发。
为什么?
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'
export function middleware (request: NextRequest) {
console.log(`Runs for '/contact' or '/admin' or 'about'`)
}
export const config = {
matcher: ['/contact', '/admin','/about']
}
我的页面文件夹的结构
- 一米八米一x**
- 注:**
- 它适用于开发,但不适用于生产**
1条答案
按热度按时间bfnvny8b1#
确保
middleware.js
文件与next-13中的package.json位于同一级别。之前,它位于pages
目录中,名称为_middleware.js
你可以试试看这个是否有效。