express로 프로젝트 세팅

express --view=pug [projectName]

 

실시간 렌더링을 위한 nodemon설치

npm i nodemon

package.json > scripts: { "dev": "nodemon app.js" }

 

사용할 db 설치

npm i mysql2 --save

 

orm사용을 위한 knex 설치

npm i knex --save

 

env파일 로딩을 위한 dotenv설치

npm i dotenv --save

 

app.js와 같은 depth에 .env생성

HOST=localhost
USER=root
PASSWORD=1234
DATABASE=apiTest

app.js와 같은 depth에 dbconfig.js생성

require('dotenv').config()
module.exports = (require('knex')({
  client: 'mysql',
  debug: true,
  connection: {
    host: process.env.HOST,
    user: process.env.USER,
    password: process.env.PASSWORD,
    database: process.env.DATABASE
  },
  log: {}
}))

 

env를 통해 테스트서버와 운영서버를 나누고싶다면

require('dotenv').config()
module.exports = (server) => (require('knex')({
  client: 'mysql',
  debug: true,
  connection: {
    host: `${process.env.HOST}_${server}`,
    user: `${process.env.USER}_${server}`,
    password: `${process.env.PASSWORD}_${server}`,
    database: `${process.env.DATABASE}_${server}`
  },
  log: {}
}))

위의 코드와 같이 dbconfig를 설정해 준 뒤 env에서 _local / _global 이런식으로 작성해주면 된다

사용은 아래와 같이 사용할 수 있다.

const db = require('./dbconfig')

db('local').select~~~~~

 

실행이 안될때

npm install

+ Recent posts