반응형
Notice
Recent Posts
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Today
Total
관리 메뉴

오식랜드

Nuxt에 Express로 DB연결하기 본문

dev-log/server

Nuxt에 Express로 DB연결하기

개발하는 오식이 2022. 7. 13. 11:04
반응형

라이브러리 설치

npm install express --save
npm install body-parser
npm install mongodb
npm install @nuxtjs/axios
  • -save 옵션을 사용해서 설치된 Node 모듈은 package.json 파일 내의 dependencies 목록에 추가된다.프로젝트 디렉토리에서 npm install 실행시 종속 항목 목록의 모듈은 자동으로 설치됨.

nuxt.config 파일에 선언

serverMiddleware: ['~/api/index.js'],
modules: ['@nuxtjs/axios'],
axios: {
	 proxy: true
},

~/api/index.js 파일 생성 후 Express 코드 작성

const MongoClient = require('mongodb').MongoClient; // mongoDB호출
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
// const db = require('./db');

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

var db;
MongoClient.connect(process.env.DB_URL, function(에러, client){
    // DB연결 성공하면 할 일
    if(에러) return console.log('에러', 에러)

	// todoapp이라는 database에 연결
    db = client.db('todoapp');
    app.listen(process.env.PORT, function(){
      console.log('listening on 3000')
    });
});

app.get('/', (req, res) =>{
  db.collection('post').find().toArray(function(에러, 결과){
      console.log('결과', 결과)
  });
});

module.exports = {
  path: '/api',
  handler: app
};

.env파일에는 Port번호와 DB주소 선언해서 사용

PORT=3000
DB_URL='mongodb+srv://~~~'
BASE_URL='http://localhost:3000'
반응형
Comments