👾한번 해봄 시리즈👾
=할건 따로있는데 한번 손대고싶어서 일단 찍어먹어보는 시리즈
------------------------------
1. npm init 입력
2. npm i express mongoose 입력
express는 노드js 쉽게 쓸 수 있는 라이브러리임.
3. npm i --save-dev dotenv nodemon 입력
노드몬은 코드 수정할때마다 매번 서버 껐다켜기 귀찮으니까
코드 저장만 하면 알아서 서버 재시작 해줄 수 있는 서비스임.
4. server.js, .env, .gitignore 이렇게 3가지 파일 생성
특히 .gitignore에는 안에 이렇게 써주면 된다.
5. server.js에 기본 설정 입력
const express = require('express');
const app = express();
app.listen(3000, () => console.log('서버 시작'));
그리고 터미널에
npm run devStart 라고 쳐주면
이렇게 정상적으로 실행된다.
------------------------------------------------------
6. server.js에 GET요청하기
const express = require('express');
const app = express();
app.listen(3000, () => console.log('서버 시작'));
app.get('/pet', (req, res) => res.send('here is pet'));
app.get('/book', (req, res) => res.send('here is book'));
이렇게 쓰면 pet으로 들어갈때마다 해당 메세지가,
book으로 들어갈때마다 해당 메세지가 뜨게 된다.
7. server.js에 html파일 전달하기
const express = require('express');
const app = express();
app.listen(3000, () => console.log('서버 시작'));
app.get('/', (req, res) => res.sendFile(__dirname + '/index.html'));
이렇게 쓰고 따로 index.html 파일을 생성하여 글을 써주면,
localhost에 접속하자마자 바로 index.html파일을 보여줌.
6. server.js에 몽구스 연결
const express = require('express');
const app = express();
const mongoose = require('mongoose');
const DB_URL = 'mongodb+srv://pdb:<password>@cluster0.pfbxz.mongodb.net/myFirstDatabase?retryWrites=true&w=majority';
mongoose.connect(DB_URL, { useNewUrlParser: true, useUnifiedTopology: true }, (err) => {
if(err) {
console.log(err);
} else {
console.log('db에 연결되었습니다.');
}
});
app.listen(3000, () => console.log('서버 시작'));
일단 DB주소 알아내는 방법은, mongoDB 사이트에 가서 회원가입을 하고
저기서 나오는 <password>를 지우고 DB비번을 써주면 되는데, 그 비번은
난 예전에 미리 생성해놓은 DB가 있어서 그런가 아무튼 기억이 안나는데,
없으면 새로 하나 생성하고 만든 비밀번호를 <password>대신에 써주면 된다.
※ <> 이 괄호까지 다 지워버리고 비밀번호만 써주면 된다.
Authentication failed.
이 에러는 비번이 틀려서 나는 에러임.
Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted.
이 에러는 ip주소를 추가해주면 해결되는 에러임.
7. DB주소 숨기기
근데 저렇게 대놓고 비밀번호가 써진 DB를 쓰면 정보 노출 우려가 있기 때문에
초반에 생성해둔 .env에 써주고 불러오는 형식으로 가면 된다.
DB_URL = mongodb+srv://pdb:<password>@cluster0.pfbxz.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
.env파일에 이렇게 써두고
require('dotenv').config();
const express = require('express');
const app = express();
const mongoose = require('mongoose');
mongoose.connect(process.env.DB_URL, { useNewUrlParser: true, useUnifiedTopology: true }, (err) => {
if(err) {
console.log(err);
} else {
console.log('db에 연결되었습니다.');
}
});
app.listen(3000, () => console.log('서버 시작'));
server.js에서 이렇게 수정해주면 된다.
여기까지만 하고 mongoDB를 배우러 간다!
--------------------------------------
8. server.js에 router추가
app.use(express.json());
const page = require('./routers/page');
app.use('/page', page);
그리고 routers라는 폴더를 만들고 그 안에 page라는 js파일을 생성한다.
9. page.js에 내용 입력
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.send('hello page');
});
module.exports = router;
여기서 vscode라면 REST Client라는 확장프로그램 설치한뒤
다시 로드를 누르고
routers폴더 안에 route.rest라는 파일 생성 후
그 파일에다가 아래와같이 써주고
상단에 Send Request를 누르면 오른쪽 창에서 결과를 볼 수 있다.
'기타등등 > 한번해봄' 카테고리의 다른 글
👾한번 해봄 시리즈👾 heroku 가입 및 node.js 프로젝트 배포하기 (0) | 2022.06.29 |
---|---|
👾한번 해봄 시리즈👾 mongoDB를 배워보자 (0) | 2021.05.30 |
👾한번 해봄 시리즈👾 React native.js를 배워보자 (0) | 2021.03.22 |
👾한번 해봄 시리즈👾 react.js를 배워보자 (0) | 2021.01.10 |
👾한번 해봄 시리즈👾 node.js를 배워보자 (0) | 2020.12.31 |