SQL 연결하는 부분을 모듈로 만들어주기!
module.exports = connection;
🔸모듈로 만들어 줘야 다른 파일에서도 일일이 연결 코드를 작성하지 않고 import로 불러와 사용할 수 있다.
💢es6 모듈인 import와 commonjs의 require은 같이 사용할 수 없다. |
export default connection;
으로 사용해서 모듈을 export 해주어야 한다❗❗❗
💢하지만 오류가 났다.
error 내용 구글링도 하고, 여러가지 따라해보고
다시 CommonJS module로 변경도 하고
1시간을 삽질했는데 결과적으로는 es6 빠른 수정을 하며
import from 경로에서 require에 있지않은 .js 가 빠져 오류가 났던 것이었다.
💢그리고 vscode에서는 문제 없었지만, POSTMAN으로 통신하며 또 오류가 났다.
connection.promise();
promise()를 추가해줘야 오류가 나지 않는다.
✨회원 API에 DB 연결해서 회원가입, 로그인, 조회, 탈퇴 시키기
⬇️구현코드
✨회원가입
⬇️추가확인
⬇️중복확인
✨회원로그인
둘 중 하나가 틀려도 아이디나 비밀번호를 다시 확인해달라는 message를 띄운다.
✨회원조회
✨회원탈퇴
select로 email과 password가 동일한지 확인 후 동일하면 삭제한다.
⬇️삭제확인
❄️js파일에서 SQL문
나는 템플릿 문자열을 통해 문제없이 통신을 했지만 강의에서는 오류가 났다.
그래서 다른 방법을 사용함에 적어두려고 한다.
?를 사용하고, 옆에 들어갈 value값의 변수명을 적어주면 된다.
conn.query('SELECT * FROM users WHERE=?',email);
conn.query('INSERT INTO users (email, name, password, contact) values(?, ?, ?, ?)', //
[email, name, password, contact]);
✨채널 API에 DB 연결해서 회원가입, 로그인, 조회, 탈퇴 시키기
⬇️구현코드
✨채널생성
users에 id가 있고, channelTitle이 channels테이블의 name과 중복되지 않을때,
채널을 생성해주는 로직으로 구현했다.
✨전체채널조회
user_id가 가지고 있는 채널 모두를 보여준다.
✨채널개별수정
channelTitle의 name을 중복체크하고 id와 name이 같을 때 newTitle로 변경해준다.
✨채널개별삭제
✨채널개별조회
'공부 > 타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)' 카테고리의 다른 글
백엔드 심화: 인증과 비동기처리(6)-미들웨어 이슈 해결, 로그인 인증-인가, 쿠키-세션-JWT, dotenv-.env, cookie-parser (2) | 2024.09.25 |
---|---|
백엔드 심화: 인증과 비동기처리(5)-express-validator, 미들웨어(middleware) (0) | 2024.09.24 |
백엔드 심화: 인증과 비동기처리(4)-워크벤치 처음써보기, FK 설정, TIME_ZONE 설정 (0) | 2024.09.13 |
백엔드 심화: 인증과 비동기처리(2)-db create table{}, LEFT JOIN __ ON __ (0) | 2024.09.12 |
백엔드 심화: 인증과 비동기처리(1)-데이터베이스란(DB) (0) | 2024.09.11 |