[CRUD์ ์ด์ฉํ File upload Web] (1) node js๋ก ๋ก์ปฌ ์๋ฒ ๋์ฐ๊ธฐ
<๋ณธ ๋ธ๋ก๊ทธ๋ DCodeMania ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>
=> CRUD App With Image Upload Using NodeJs, ExpressJs, MongoDB & EJS Templating Engine
๐ฅ ๊ฐ๋ฐ ํ๊ฒฝ
๐ง npm init
- npm : Node Package Manager์ ์ฝ์๋ก nodejs์ ๋ชจ๋ ๊ด๋ฆฌ
- init : package.json ์์ฑ
- package.json : npm์ ํตํด ์ค์น๋ ํจํค์ง ๋ชฉ๋ก์ ๊ด๋ฆฌ, ํ๋ก์ ํธ์ ์ ๋ณด ๋ฐ ์คํ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ํ์ผ
๐ง npm install
๐ง npm i express mongoose express-session ejs multer dotenv
- express : ์น ํ๋ ์์ํฌ
- mongoose : ๋น๋๊ธฐ ํ๊ฒฝ์์ ์๋ํ๋๋ก ์ค๊ณ๋ MongoDB ๊ฐ์ฒด ๋ชจ๋ธ๋ง ๋๊ตฌ
- express-session : Express์ฉ ๋จ์ ์ธ์ ๋ฏธ๋ค์จ์ด
- ejs : ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋ด์ฅ๋์ด ์๋ html ํ์ผ (ํ ํ๋ฆฟ์์ง), html ์์์ <% %>๋ฅผ ์ด์ฉํด์ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฝ๋๋ฅผ ์คํ
- multer : ํ์ผ ์ ๋ก๋๋ฅผ ์ํด ์ฌ์ฉ๋๋ multipart/form-data ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ node.js ์ ๋ฏธ๋ค์จ์ด
- dotenv : ํ๊ฒฝ ๋ณ์๋ฅผ ํ์ผ์ ์ ์ฅํด๋๊ณ ์ ๊ทผ ๋์์ค
๐ง npm i -D nodemon
- nodemon : ํ์ผ์ด ์์ ๋๋ฉด ์๋์ผ๋ก ๋ ธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์์
๐ง nodemon index.js
- ์๋ฒ ์คํ
๐ฅ ํ์ผ ๊ตฌ์กฐ
๐ฅ ์ฝ๋
๐ง .env
APPLICATION_NAME=gani
PORT=3000
MONGODB_URI=mongodb+srv:~~~
# TOEKN SECRET ๊ฐ ๋ฃ๊ธฐ
SECRET="I6G#D6LiJukWzx1^fw0$"
๐ง index.js
// imports
require("dotenv").config();
const express = require("express");
const mongoose = require("mongoose");
const session = require("express-session");
const app = express();
const PORT = process.env.PORT || 8000;
app.get("/", (req, res) => {
res.send("Hello World");
});
app.listen(PORT, () => {
console.log(`server started at http://localhost:${PORT}`);
});