CRA設定が最も簡単で、最も迅速なサーバ


入る前に.

Back-End : Express.js


DataBase : MySQL


IDE : Visual Studio Code


Root FolderName:Rakei(好きなように...)


基本的には、反応アプリケーションとサーバを一度に実行する構造です。


サーバを個別に実行し、リアクションアプリケーションを個別に実行する->X,Concurry Package


  • Rakeiフォルダを作成したら、VSCを使用してフォルダを開きます.

  • (現在位置~/Rakei/)イニシャル開始
    yarn init
    npm init

  • (現在位置~/Rakei/)package.jsonを形成する.
  • サーバが管理する必要があるパッケージ
  • (現在位置~/Rakei/)サーバフォルダを作成し、端末を入力
    npx create-act-app client(任意の名前)
  • (現在位置~/Rakei/)端末入力
  • の基本的なサーバパッケージを一度にダウンロードできます.
    yarn add express mysql mysql2 concurrently nodemon cors body-parser sequelize sequelize-cli

  • (現在位置~/Rakei/package.json)script設定
    "scripts": {
    "test": "echo\"Error: no test specified\"&& exit 1",
    "server": "cd server &I & nodemon server",
    "client": "cd client && yarn start",
    "start": "concurrently --kill-others-on-fail\"yarn start\"\"yarn client\""
    },

  • (現在位置~/Rakei/server/)初期化品質
  • sequelize init
  • (現在位置~/Rakei/server/config/config.json)に必要なデータベース接続アカウント設定
  • .
    {
      "development": { // 기본적으로 개발만 설정하면 된다. 배포와 테스트까지 할것이라면 아래에도 설정 필수
        "username": "root",
        "password": "1234", // 접속 비밀번호를 입력
        "database": "mydb", // 나의 데이터 베이스 설정
        "host": "127.0.0.1",
        "dialect": "mysql"
      },
      "test": {
        "username": "root",
        "password": null,
        "database": "database_test",
        "host": "127.0.0.1",
        "dialect": "mysql"
      },
      "production": {
        "username": "root",
        "password": null,
        "database": "database_production",
        "host": "127.0.0.1",
        "dialect": "mysql"
      }
    }
    
  • (現在位置~/Rakei/server/server.js)基本サーバソース
  • .
    const express = require('express'); // 가장 중요
    const cors = require('cors'); // Cross Origin Resource Sharing 문제 방지
    const model = require('./models/index.js'); // 시퀄라이즈 모델 (추후 설정)
    const app = express();
    const PORT = 5000; // 포트를 5000 - 마음대로임..
    
    
    const bodyParser = require('body-parser'); //  파라미터 추출용
    
    app.use(express.json()); // json 파일로 redux 상태 관리 시
    
    
    app.use(cors({ // 서버는 http://localhost:3000에서 오는  GET,POST 요청을 신뢰한다는 cors 설정
        origin : 'http://localhost:3000',
        methods : ["POST","GET"],
        credentials : true,
    }));
    
    app.get('/',(req,res)=>{ // 기본 home 출력 메세지
        res.send('Hello Express');
    })
    // DB 연결은 비동기, MySQL과 연결 된다.
    model.sequelize.sync() 
    .then(()=>{
        console.log('DB연결 성공');
    })
    .catch((err)=>{
        console.log('DB 연결 실패');
        console.log(err);
    })
    
    
    app.listen(PORT,()=>{
        console.log(`서버에 접속했습니다. 포트는 ${PORT}`);
    })
    運転
  • (現在位置~/Rakei/)
    yarn start
  • これで、サーバと一緒に実行される反応アプリケーションがほぼ完了しました.