React Project_0327로 Node_bird 빌드하기

노드로 서버 실행

  • 백폴더 생성

    • npm init => 프로젝트 이름 설정, 작성자 설정 및 기타 모든 것은 enter => 파일로 전달됩니다.

      Package.json이 생성됩니다.

    • 포트를 3065로 설정하고 노드의 http 모듈로 서버를 실행합니다.

        const http = require('http');
        const server = http.createServer((req,res)=>{
          //요청에 대한 정보 req 
          //응답에 대한 정보 res 
          console.log(req.url, req.method);
          res.write('Hello nodebirds');// 여러줄을 치고 싶다 => res.write()
          res.end('Hello node'); //마지막에만 .. res.end() 
          // () 안에 html도 넣을 수 있다.

      }); server.listen(3065,()=>{ console.log('서버는 실행중'); }); /* createServer라는 곳에서 요청메서드나 url에 따라서 응답을 해준다.

      프론트 서버나 브라우저가 요청을 보내면 응답을 해준다 => 서버 요청 한번 당 응답 한번 , 아예 안보내도 안되고 무조건 요청을 보내야 한다.

      응답을 안 보내면 특정시간 (30초정도)후에 브라우저가 자동으로 응답 실패로 처리해버린다.

      요청과 응답은 1:1 .. 응답 두번 보내지않게 조심해야 한다 res.end 2번 보내면 안된다.

      노드 자체가 서버 X , 노드 자체에서 제공하는 http 모듈이 서버 */

Express로 라우팅과 라우터 분리

  • NPM 익스프레스

  • route 폴더에 post.js 파일 생성

        const express = require('express');
        const postRouter = require('./routes/post');
        // routes폴더의 post 파일 require해주고 
        const app = express(); //한번 호출 해주어야 한다.

    /* app.get => 가져오다 app.post => 생성하다 app.put => 전체 수정 app.delete => 제거 app.patch => 부분수정 app.options => 찔러보기 app.head => 헤더만 가져오기 (헤더/바디) */ app.get('/',(req,res)=>{ // '/' url , get 메서드 res.send('안녕!
    express'); }) app.get('/',(req,res)=>{ // '/api' url , get 메서드 res.send('안녕!
    api'); }) app.get('/posts',(req,res)=>{ res.json(( {id: 1, content: 'vervon'}, {id: 2, content: 'jin'}, {id: 3, content: 'vermouth'}, )); }) app.use('/post',postRouter); // 여기서 use 해준다.

    ' // 앞의 '/post'는 prefix app.listen(3065, () => { console.log('서버 실행 중 입니댜'); })

MySQL 및 시퀀스

  • MySQL 설치

  • npm 나는 Sequelize-cli mysql2를 속속화합니다.

    • 후유증-cli
    • Sequelize: SQL을 몰라도 JavaScript로 SQL을 조작할 수 있게 해주는 라이브러리입니다.

    • mysql2: 노드와 mysql을 연결하는 드라이버
  • npx sequenceize init => 시퀀스 설정

    • config 폴더 => config.json에 비밀번호 값과 데이터베이스 이름을 설정합니다.

    • 모델 폴더에 파일 생성 => 스프레드시트가 됩니다.

    • 모델 폴더에 생성된 각 파일에 대한 관계를 설정합니다.


      ( hasMany, 에 속함, ~에 속함 등)
  • app.js를 동기화합니다.

  • npm i -D nodemon으로 코드를 저장할 때 서버가 자동으로 다시 시작되도록 설정