2022.05.28 TIL(2) Node.js 기본세팅 가이드

Seong Hyeon Kim·2022년 5월 28일
0

개인공부

목록 보기
8/23

영성님이 알려주신 처음 세팅법

정말 알려주시는 어몽어스 얼굴이 천사로 보엿다ㅠㅠㅠ

app.js

const express = require("express");			/// 익스프레스를 사용하겠다고 정의내리는거
const connect = require('./schemas');       ///스키마에서 가셔와서 몽고디비랑 연결하는거
const app = express();                  /// app.use 로 사용하겟다는걸 정의하는 내용
const port = 4000;                  ///로컬호스트 4000 포트로 연결하겟다는 의미


connect();          // 스키마스 폴더에 몽고디비랑 연결한다고 선언은 했지만 실제로 연결하려면 이렇게 적어줘야됨

const requestMiddleware = (req, res, next) => {
    console.log('request URL:', req.originalUrl, '-', new Date());
    next();
};          // 콘솔창에 띄우는거 (문자열로 리퀘스트 url나오게 하는거)

app.use(express.static('static'));  //프론트 폴더 연결하는거
app.use(express.json());        //제이슨 파일을 익스프레스에서 사용할수 잇게 해주는 의미
app.use(express.urlencoded());        // 
app.use(requestMiddleware);     // 앱에서 const requestMiddleware 를 사용하겠다라는 뜻

app.get('/', (req, res) => {
    res.send('Hello World@@');
});

app.listen(port, () => {
    console.log(port, '포트로 서버가 켜졌어요!');
});     /// 포트로 여는데 몇번포트로 여는지 콘솔창에 띄워주는거

schemas


const mongoose = require('mongoose');

const goodsSchema = mongoose.Schema({
    goodsId: {
        type: Number,
        required: true,   // required 는 데이터에 넣을때 필수입력값 즉 이게 입력되 있지 않으면 에러가뜸
        unique: true     // 유니크는 같은 값이 있으면 안된다. (굿즈아이디르 1로 해서 넣고 또 넣으면 에러가 나게끔 만드는것!)
    },
    name: {
        type: String,
        required: true,
        unique: true
    },
    thumbnailUrl: {
        type: String
    },
    category: {
        type: String
    },
    price: {
        type: Number
    }
});

module.exports = mongoose.model('Goods', goodsSchema);

index

const mongoose = require('mongoose');

const connect = () => {
    mongoose.connect('mongodb://localhost:27017/aaaaa', { ignoreUndefined: true }).catch((err) => {
        console.error(err);
    });
};

module.exports = connect;

///몽고디비랑 연결하는 코드덩어리 그냥 복붙해서 사용할것

router

module.exports = router; /// 라우터에서 마지막줄에 끝에 무조건 붙여줘야 app.js 에서 사용가능함


그리고

app.js 에서

const userRouter = require('./routes/object');	///변수명 아무거나 정하되, ()는 라우터파일의 경로적을것

그리고

app.use('/', [userRouter]);   // [] 는 const 변수명과 동일하게 쓸것


profile
삽질도 100번 하면 요령이 생긴다. 부족한 건 경험으로 채우는 백엔드 개발자

0개의 댓글