목록웹 개발/Node JS (20)
dukDukz
index.html {% if logininfo == undefined %} 로그인 카카오로그인 {% else %} 회원정보 로그아웃 {% endif %} {% if msg %} {% endif %} server.js localhost:3000 main - 여기서 logininfo 값을 index.html 에 보내준다. 더보기 app.get('/',(req,res)=>{ const {msg} = req.query; //console.log(req.session.authData); res.render('./index.html',{ msg, logininfo : req.session.authData, // kakao든 local이든 로그인이 되면 두번 로그인 할 수 없게 처리하기 위해서 값을 보내준다 });..

1. index.html html에 이러한 링크를 만들고 2. server.js 라우터에 get 부분으로 이 링크를 받아주는 부분을 만든다. app.get('/auth/kakao/unlink', authMiddleware, async (req,res)=>{ const {session} = req; const {access_token} = session.authData.kakao; // 요청 - axios 비동기로 요청하기 (async 필요) // 카카오에게 접속을 종료하겠다는 것을 요청하겠다 - 그걸 unlink에 담는다 // 요청 실패시를 대비해서 try catch 문을 사용했다. let unlink; try { unlink = await axios({ //Promise 객체를 unlink에 넘겨주고 ..

1. 로그인 체크 미들웨어 // 아이디 체크를 위한 미들웨어 사용 (반복 사용가능) const authMiddleware = (req,res,next) => { const {session} = req; if(session.authData == undefined){ console.log('로그인이 안됨'); res.redirect('/?msg=로그인 안되어있음') } else{ console.log('로그인 되어있음'); next(); } } 현 로그인 상태를 처리하는 미들웨어를 만들어주었다. 2. msg 처리하는 부분 server.js app.get('/',(req,res)=>{ const {msg} = req.query; res.render('./index.html',{ msg }); }); index..

input 으로 이미지 파일 올리기 1. 코드 더보기 user/index.js 에 추가 const multer = require('multer');// npm install multer const path = require('path'); //npm install path multer 사용 위해 세팅 하는 부분 이 부분은 외우기 or 가져다 쓰기 const upload = multer({ storage:multer.diskStorage({ destination:function(req,file,callback){ callback(null,'uploads/') //폴더명 }, filename:function(req,file,callback){ callback(null, new Date().valueOf() ..

1. 익명함수로 바로 넣어주기 2. 각각의 함수를 선언하고 변수에 넣은 뒤 사용하기 두개의 미들웨어(콜백함수)가 들어갈 수 있다, next를 써줘야한다 안쓰면 첫번째 것만 동작함 여러개의 미들웨어 next를 이용함 끝없이 진행될 수 있음

더보기 1. Client 에서 LiveServer로 요청 2. Live server는 화면만 뿌려주는 역할 3. Onclick 과 같은 event 발생 4. API 로 요청 5. API 에서 DB로 값 요청(쿼리 이용) 6. DB에서 json 형태로 값 전달 7. API에서 Client로 값을 전달 (가공된) 8. 화면에 출력됨 npm install cors server.js const app = express(); app.use(cors()); 이 설정값을 미들웨어에 탑재 app.use(cors()); 다른 도메인도 허락해줄게 화면로딩서버 5000 데이터 넘겨주는 서버 따로 있는것 3000 API 사용 axios library 를 가지고 작업을 할거임 axios cdn 이라고 검색하기 https://c..

server3.js const express = require('express'); const app = express(); const main = require('./route/index'); //route폴더에 있는 index파일을 가져오자 const board = require('./route/board'); const nunjucks = require('nunjucks'); const bodyParser = require('body-parser'); app.set('view engine','html'); nunjucks.configure('views',{ express:app, }) //이 구문의 위치가 항상 중요함 app.use - 이 부분이 제일 위에 올라와있어야함 //얘가 최상단에 있어야 p..
기본 틀 server.js const express = require('express'); const app = express(); const main = require('./route/index'); //route폴더에 있는 index파일을 가져오자 const board = require('./route/board') app.use('/',main); // 모든 url일때 main의 안에 있는게(index.js) 실행 되도록 한다. app.use('/board',board); app.listen(4000,()=>{ console.log('open server 4000'); }); index.js const express = require('express'); const router = express.R..