next.js 에서 mysql을 연결하는 과정에서 다음과 같은 에러가 발생하였다.

DB를 처음 써 보는 과정에서 test를 위해 사용한
console.log(DB(query, [id, password]));
를주석처리하니 에러가 사라졌다.
사용하는 방식이 문제인 것 같아서
DB connection을 export한 뒤
DB.query(query,[],(error,result)=>{})
이런 식으로 사용했는데, 같은 에러가 나왔다.
cmd의 module-not-found라는 에러가 거슬렸다.
그래서 npm install net을 해주었고 tls관련 같은 에러가 나와서
npm install tls를 통해 모듈을 받아왔고 에러가 모두 사라졌다.
npm install mysql2 를 하는 과정에서 필요한 모듈을 모두 가져왔을 거라고 생각했는데 아니었다.
에러에 대해서 검색하는 것 보다 에러 메세지를 살펴보고 생각해 보는 것이 더 나은 결과를 가져오는 때도 있다.
아래는 에러 본문
Import trace for requested module:
./node_modules/mysql2/index.js
./src/app/_lib/DB.tsx
./src/app/api/apiLogin.tsx
./src/app/login/page.tsx
GET /favicon.ico 500 in 11899ms
⨯ ./node_modules/mysql2/lib/connection.js:18:1
Module not found: Can't resolve 'net'
https://nextjs.org/docs/messages/module-not-found
Import trace for requested module:
./node_modules/mysql2/index.js
./src/app/_lib/DB.tsx
./src/app/api/apiLogin.tsx
./src/app/login/page.tsx
GET /login 500 in 19873ms
GET /favicon.ico 500 in 59ms
⨯ ./node_modules/mysql2/lib/connection.js:19:1
Module not found: Can't resolve 'tls'
https://nextjs.org/docs/messages/module-not-found