Node-js-2
Node-js - Log in ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
ํด๋ ๊ตฌ์กฐ ์ต์ ํ git, github ์ ๋ก๋ nodemon โ
Package.json / node_modules
npm init -y : package.json ์ค์ -> npmํํ์ด์ง์์ ๋ฑ๋ก ์ ์ฐพ๊ธฐ ๊ฐ๋ฅ, ๊ธฐ๋ณธ ๊ฐ, ์ค๋ช ์ธํ
package.json
{
"name": "login-lecture-test", // ๊ธฐ๋ณธ ์ด๋ฆ
"version": "1.0.0", // ๋ฒ์
"description": "", // ํ๋ก๊ทธ๋จ ์ค๋ช
"main": "app.js", // ๋ฉ์ธ ํจ์
"bin": {
"login-lecture-test": www.js // ๊ธฐ๋ณธ ์คํ ํจ์
},
"dependencies": {
"express": "^4.17.1", // ๊ธฐ๋ณธ์ ์ผ๋ก ์์กดํ๋ ๋ชจ๋ ( ์ด์ ์ ์ค์นํ๋ express, ejs)
"ejs": "^3.1.6"
},
"devDependencies": {}, // ๊ฐ๋ฐ ์ ์์กดํ๋ ํจ์ ( ex> prettier )
"scripts": { // ์ฌ์ฉํ๊ณ ์ถ์ ๋ช
๋ น์ด ์ค์
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [], // ๊ฒ์ ์ ํค์๋
"author": "", // ๊ถํ์ (์ด๋ฆ)
"license": "ISC" // ๋ผ์ด์ผ์ค
}
start๋ผ๋ ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด์ฃผ๋ ค๋ฉด ? scirpt !
"scripts": {
"start": "node ./bin/www.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
homepage, git url ์ค์ ๊ฐ๋ฅ
node_modules express, ejs์ ๊ฐ์ npm ๋ชจ๋๋ค์ ๋ชจ์๋๋ค. git ์ ์ ์ฅํ ๋ ์ฌ๋ฆด ํ์๋ ์๋ค. ์? package๋ฅผ ํตํด dependencies ์ ์ ์ฅ๋์ด ์์ผ๋ฏ๋ก ๋ค์ ์ค์น๊ฐ๋ฅ
"dependencies": {
"express": "^4.17.1", // ๊ธฐ๋ณธ์ ์ผ๋ก ์์กดํ๋ ๋ชจ๋ ( ์ด์ ์ ์ค์นํ๋ express, ejs)
"ejs": "^3.1.6"
},
package-lock.json : ์กฐ๊ธ ๋ ๋ช ํํ๊ณ ์์ธํ package
๊น, ๊นํ๋ธ์ ๋ ธ๋ ์ ๋ก๋
nano gitignore : gitignore ๋ด์ ์ ๋ ฅ ๋ฐ ํ์ผ ์์ฑ
.gitignore ๋ด์๋ node-module์ ๋ฃ์ด github์ ์ฌ๋ฆฌ์ง ์๋๋ก ํ๋ค. why? package.json์ ํตํด์ ๋ค์ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์
์ ์ฒด์ ์ผ๋ก node.js๋ฅผ ์ฌ๋ฆด ๋ ignore ๋๋ ๊ฒ์ ํ ํ๋ฆฟ์ผ๋ก ์ ๋ฆฌํด์ค ๊ณณ (node๋ฅผ ์ ํ) ๊ทธ ์์ **node-module์ ํด์ค์ ํด๋ ๊ตฌ์กฐ๊ฐ ์ด๋ป๊ฒ ๋์ด์๋ ์ด๋ฆ๋ง ๊ฐ์ผ๋ฉด ignoreํ๊ฒ ํด์ค๋ค.
license๋ github๋ด์์ ์ฐพ์ ์ฌ๋ฆฌ์ .
ํด๋๊ตฌ์กฐ ์ต์ ํ + public ์์ js ํ์ผ ๋ฐ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ.
app -> bin, src, app.js๋ฅผ ๋ฃ์
ํด๋๋ฅผ ์ต์ ํ ํ ๋,
login.ejs ์ฌ๊ธฐ์ js๋ก ๋ฐ๋ก ๊ฐ ์๊ฐ ์๋ค.
public์ ๋ง๋ค์ด์ ์์ src/public/js/home/ ์ด๋ ๊ฒ ๋ง๋ค์ด์ค๋ค. ๊ทธ๋ฆฌ๊ณ static ๊ฒฝ๋ก๋ฅผ ์์ฑํด์ค์ ์ ๊ทผ ๊ฐ๋ฅํ ์ ์๋๋กํ๋ค.
app.js
app.use(express.static(`${__dirname}/src/public`)); // public์ผ๋ก ํด๋ ๊ตฌ์กฐ ๋ง๋ค ๋ ์ด์ฉํ ์ ์๋๋ก ํ๋ค.
app.use("/", home);
์์์ ๋ง๋ js ํด๋๋ ํ๋ก ํธ ๋จ์์ ์์ง์ด๋ javascript๋ฅผ ๋ํ๋ธ๋ค.
ํด๋ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
nodemon์ผ๋ก ์๋ฒ ๋์ฐ๊ธฐ / ๊ฐ๋ฐ ์์ฐ์ฑ ๋์ด๊ธฐ
์๋ฒ๋ฅผ ๊ป๋ค๊ฐ ์ผ๋ ๊ฒ์ ์ํ๊ณ ์ผ ์ํ์์ ์ฝ๋๋ฅผ ์์ ํด๋ ๋ฐ๋ก ๋ฐ๊ฟ ์ ์๋ค.
ํฐ๋ฏธ๋ ์ด์ฉ ์ powershell์์ ์๋จ! bash๋ cmd ์ด์ฉํด์ nodemon ์ค์นํ ๊ฒ
npm install nodemon -g