next-auth 로그인/회원가입 에러(middleware)
해결됨
Next + React Query로 SNS 서비스 만들기
강사님 안녕하세요, 로그인/회원가입 시 middleware export 되지않는 이슈로 질문남깁니다..! 터미널에서 middleware가 export가 되지않는다고 뜨는데 import하는 방식이 잘못된건지 여쭙니다. // middleware.ts import { auth as middleware } from "./auth" export const config = { matcher: ['/compose/tweet', '/home', '/explore', '/messages', '/search'], } //auth.ts import NextAuth, {CredentialsSignin} from "next-auth" import CredentialsProvider from "next-auth/providers/credentials"; export const { handlers: { GET, POST }, auth, signIn, } = NextAuth({ pages: { signIn: "/i/flow/login", newUser: "/i/flow/signup", }, providers: [ CredentialsProvider({ async authorize(credentials) { const authResponse = await fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/login`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ id: credentials.username, password: credentials.password, }), }) if (!authResponse.ok) { return null } const user = await authResponse.json(); return { email: user.id, name: user.nickname, image: user.image, ...user, }; }, }), ] }); // package.json { "name": "x-com", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint" }, "dependencies": { "@auth/core": "^0.27.0", "@vanilla-extract/css": "^1.16.1", "@vanilla-extract/recipes": "^0.5.5", "@vanilla-extract/sprinkles": "^1.6.3", "classnames": "^2.5.1", "clsx": "^2.1.1", "dayjs": "^1.11.13", "next": "^15.0.4", "next-auth": "^5.0.0-beta.25", "react": "^19.0.0", "react-dom": "^19.0.0", "react-textarea-autosize": "^8.5.6", }, "devDependencies": { "@faker-js/faker": "^9.3.0", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "@vanilla-extract/next-plugin": "^2.4.7", "@vanilla-extract/webpack-plugin": "^2.3.15", "msw": "^2.6.8", "typescript": "^5" }, "msw": { "workerDirectory": [ "public" ] } } <터미널 오류내용> ⨯ Error: The Middleware "/src/middleware" must export a `middleware` or a `default` function at <unknown> (webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js:12) at eval (webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js?absolutePagePath=C%3A%5CUsers%5Calsdu%5CDocuments%5CGitHub%5Canimals_forest%5Csrc%5Cmiddleware.ts&page=%2Fsrc%2Fmiddleware&rootDir=C%3A%5CUsers%5Calsdu%5CDocuments%5CGitHub%5Canimals_forest&matchers=&preferredRegion=&middlewareConfig=e30%3D!:12:0) at (middleware)/./node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=C%3A%5CUsers%5Calsdu%5CDocuments%5CGitHub%5Canimals_forest%5Csrc%5Cmiddleware.ts&page=%2Fsrc%2Fmiddleware&rootDir=C%3A%5CUsers%5Calsdu%5CDocuments%5CGitHub%5Canimals_forest&matchers=&preferredRegion=&middlewareConfig=e30%3D! (.next\server\src\middleware.js:642:1) at __webpack_require__ (.next\server\edge-runtime-webpack.js:37:33) at __webpack_exec__ (.next\server\src\middleware.js:681:48) at <unknown> (.next\server\src\middleware.js:682:37) at webpackJsonpCallback (.next\server\edge-runtime-webpack.js:1219:39) at <unknown> (.next\server\src\middleware.js:9:61) at evaluateInContext (node_modules\next\dist\server\web\sandbox\context.js:420:38) GET /home 404 in 4ms Failed to get source map: Error: Failed to read file contents of C:\Users\alsdu\Documents\GitHub\animals_forest\webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js. at getSourceMapFromFile (node_modules\next\src\client\components\react-dev-overlay\internal\helpers\get-source-map-from-file.ts:20:10) at async getSource (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-server.ts:576:6) at async Server.requestListener (node_modules\next\src\server\lib\start-server.ts:146:6) { [cause]: Error: ENOENT: no such file or directory, open 'C:\Users\alsdu\Documents\GitHub\animals_forest\webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js' at async getSourceMapFromFile (node_modules\next\src\client\components\react-dev-overlay\internal\helpers\get-source-map-from-file.ts:18:19) at async getSource (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-s at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-server.ts:576:6) at async Server.requestListener (node_modules\next\src\server\lib\start-server.ts:146:6) { [cause]: Error: ENOENT: no such file or directory, open 'C:\Users\alsdu\Documents\GitHub\animals_forest\webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js' at async getSourceMapFromFile (node_modules\next\src\client\components\react-dev-overlay\internal\helpers\get-source-map-from-file.ts:18:19) at async getSource (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-sserver.ts:146:6) { [cause]: Error: ENOENT: no such file or directory, open 'C:\Users\alsdu\Documents\GitHub\animals_forest\webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js' at async getSourceMapFromFile (node_modules\next\src\client\components\react-dev-overlay\internal\helpers\get-source-map-from-file.ts:18:19) at async getSource (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-soverlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-sreloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-s.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-server.ts:576:6) at async Server.requestListener (node_modules\next\src\server\lib\start-server.ts:146:6) { errno: -4058, code: 'ENOENT', syscall: 'open', path: 'C:\\Users\\alss\\Documents\\GitHub\\x-com\\webpack-internal:\\(middleware)\\node_modules\\next\\dist\\build\\webpack\\loaders\\next-middleware-loader.js' } }
- react
- next.js
- react-query
- next-auth
- msw





