본문 바로가기
Programming/Javascript

[node.js] express.js + mysql 시작하기

by Berasix 2022. 11. 24.
반응형

1. express.js 설치

 

npm이 설치되어있다면, 간단하게 아래와 같이 express.js 를 시작해 본다.

PS C:\nodejs> npm install -g express-generator
PS C:\nodejs> express 폴더이름    // 필자는 폴더이름을 my-bbs 라고 했음
PS C:\nodejs> cd 폴더이름
PS C:\nodejs\my-bbs> npm install
PS C:\nodejs\my-bbs> npm start

2. 테스트 페이지 확인

 

3. mysql 모듈 설치

npm install mysql --save

 

4. mysql  연결 셋팅

/app.js 파일에 아랫부분을 넣어서 테스트해보자.

mysql 변수를 추가했고,

const db ~ 테스트해볼 수 있는 부분을 추가했다.

 

물론 테스트할 수 있는 mysql이 설치되어 있어야 한다.

윈도우라면 xampp 를 사용해봐도 된다.

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
const mysql = require('mysql');

var indexRouter = require('./routes');
var usersRouter = require('./routes/users');

const db = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'ci4_test',
  port: '3306' 
});

db.connect();

db.query('SELECT * FROM users', (error, result) => {
  if (error) return console.log(error, 'check');

  console.log(result);
});

var app = express();

 

5. mysql 연결 테스트

아래는 실행한 결과이다.

데이터가 보이면 정상적으로 된 것이다.

 

PS C:\nodejs\my-bbs> npm start

> my-bbs@0.0.0 start
> node ./bin/www

[
  RowDataPacket {
    id: 1,
    username: 'test',
    status: null,
    status_message: null,
    active: 1,
    last_active: 2022-11-15T18:45:26.000Z,
    created_at: 2022-11-10T11:05:32.000Z,
    updated_at: 2022-11-10T11:05:32.000Z,
    deleted_at: null
  },
  RowDataPacket {
    id: 2,
    username: '누구게',
    status: null,
    status_message: null,
    active: 1,
    last_active: 2022-11-10T11:20:43.000Z,
    created_at: 2022-11-10T11:17:20.000Z,
    updated_at: 2022-11-10T11:17:20.000Z,
    deleted_at: null
  },
  RowDataPacket {
    id: 3,
    username: '내가누구게',
    status: null,
    status_message: null,
    active: 1,
    last_active: 2022-11-10T11:34:13.000Z,
    created_at: 2022-11-10T11:21:01.000Z,
    updated_at: 2022-11-10T11:21:01.000Z,
    deleted_at: null
  }
]
728x90

댓글