주뇽's 저장소

#6 비밀 설정 정보 관리(ReactJS) 본문

웹개발/React

#6 비밀 설정 정보 관리(ReactJS)

뎁쭌 2023. 1. 8. 18:48
728x90
반응형

본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다.

MongoDB url은 배포시 숨겨야 함

2개의 다른 환경에서 개발

스크린샷 2022-12-27 오후 9 59 16

  • config 폴더 생성
    • dev.js 파일 생성 후 다음 코드 작성
    • module.exports ={ mongoURI:'mongodb+srv://Jun:zxc123@junprojcet.kzx4jm1.mongodb.net/?retryWrites=true&w=majority' }
    • prod.js 파일 생성 후 다음 코드 작성
    • module.exports = { mongoURI : process.env.MONOG_URI } //헤로쿠의 경우
    • key.js 파일 생성 후 다음 코드 작성
    • if(process.env.NODE_ENV === 'production') { module.exports = require('./prod'); } else { module.exports = require('./dev');module.exports ={ mongoURI:'mongodb+srv://Jun:zxc123@junprojcet.kzx4jm1.mongodb.net/?retryWrites=true&w=majority' } }
  • index.js 파일 코드 추가 및 수정
    • 전체 코드
    • const express = require('express') const app = express() const port = 3000 const mongoose = require('mongoose') const {User} = require("./Models/User")// 미리 정의했던 모델 가져오기 const bodyParser = require('body-parser') const config = require("./config/key"); // 데이터 분석을 위한 추가 설정 app.use(bodyParser.urlencoded({extended:true})); app.use(bodyParser.json()); mongoose.set('strictQuery',true) mongoose.connect(config.mongoURI, { useNewUrlParser: true, useUnifiedTopology: true }).then(() => console.log('Successfully connected to mongodb')) .catch(e => console.error(e)); app.get('/', (req, res) => { res.send('Hello World!') }) app.post('/register', (req,res) =>{ // 회원 가입할 때 필요한 정보들을 클라이언트로부터 받으면 데이터베이스에 정보 저장 // 미리 정의했던 모델을 가져와야 함 const user = new User(req.body); user.save((err, userInfo) =>{// user모델에 정보들 저장 //만약 에러가 발생 시 json형식으로 에러와 에러메시지 전달 if(err) return res.json({success:false, err}) return res.status(200).json({ success:true }) }) }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })
  • const config = require("./config/key"); mongoose.connect(config.mongoURI, { useNewUrlParser: true, useUnifiedTopology: true }).then(() => console.log('Successfully connected to mongodb')) .catch(e => console.error(e));
  • gitignore 에서 dev.js 파일 추가