2023. 9. 2. 01:32ใ0. TiL ( Today I Learned )
์ด๋ฒ 4์ฃผ ์ฐจ์ WIL์ ์ฃผ์ ๋, Restful API, package.json์ด WIL์ฃผ์ ์๋ค.
Restful API์ ๋ํด์๋ ์ด๋ฏธ ์ด์ ์ฃผ์ฐจ์ ์ ๋ฆฌํ๋ฉด์ ์ถ๊ฐ๋ก ์ ๋ฆฌํ ๋ด์ฉ์ด ์์ด์ packge.json๋ฅผ ์ถ๊ฐ๋ก ๊ณต๋ถํ ๋ด์ฉ๊ณผ ํจ๊ป ์ฌ๋ ธ๋ค!
Restful API
2023.08.27 - [3. Node.js] - [ Node.js ์ ๋ฌธ์ฃผ์ฐจ 2 (2-0)] REST API, RESTful
[ Node.js ์ ๋ฌธ์ฃผ์ฐจ2 (2-0)] REST API, RESTful
RESTful REST(REpresentational State Transfer)๋ Web, ์ปดํจํฐ ์์คํ ๊ฐ์ ํ์ค์ ์ ๊ณตํ์ฌ ์์คํ ์ด ์๋ก ๋ ์ฝ๊ฒ ํต์ ํ ์ ์๋๋ก ํ๋ ์ํคํ ์ฒ ์คํ์ผ์ด๋ค. RESTful ์์คํ ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ REST ํธํ ์์ค
sa-growth-diary.tistory.com
package.json
pack.json์ Node.js ํ๋ก์ ํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํ์ผ์ด๋ค.
ํ๋ก์ ํธ์ ์ ๋ณด, ๋ชจ๋, ํจํค์ง ๋ฑ์ ์ ์ํ๊ณ , ์์กดํ๋ ํจํค์ง์ ๋ฒ์ ์ ๋ณด๋ฅผ ๋ช ์ํ๋ค.
pack.json ํ์ผ์ ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ์์นํ๊ณ , repository๋ผ๋ ์์ฑ์ ํตํด ์์ค ์ฝ๋๊ฐ ์ ์ฅ๋ ๊ณณ์ ์ง์ ํ ์ ์๋ค.
package.json ํ์ผ์ ๊ตฌ์ฑ์?
๋ฉํ๋ฐ์ดํฐ ์์ฑ ์๋ณ: ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ ํธ ์ด๋ฆ, ๋ชจ๋์ ํ์ฌ ๋ฒ์ , ๋ผ์ด์ ์ค, ํ๋ก์ ํธ ์์ฑ์, ํ๋ก์ ํธ์ ๋ํ ์ค๋ช ๋ฑ๊ณผ ๊ฐ์ ๋ชจ๋/ํ๋ก์ ํธ๋ฅผ ์๋ณํ๋ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๊ธฐ๋ฅ์ ๋ฉํ๋ฐ์ดํฐ ์์ฑ: ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ๋ชจ๋์ ์ง์ / ์์์ , ํ๋ก์ ํธ์ ์ข ์์ฑ, ์ฌ์ฉ ์ค์ธ ์คํฌ๋ฆฝํธ, ๋ ธ๋ ํ๋ก์ ํธ์ ์ ์ฅ์ ๋งํฌ ๋ฑ๊ณผ ๊ฐ์ ํ๋ก์ ํธ / ๋ชจ๋์ ๊ธฐ๋ฅ์ ๊ฐ / ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
package.json ํ์ผ ์ฌ์ฉ
npm init ์ฌ์ฉ
npm init
ํ์ผ์ ์ง์ ์ฐ๊ธฐ : ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ํ์ผ์ ์ง์ ์ธ ์ ์์ผ๋ฉฐ ๋ ธ๋ ํ๋ก์ ํธ์ ํฌํจ์ํฌ ์ ์์ต๋๋ค
package.json ์์
{
"name": "GeeksForGeeks",
"version": "1.0.0",
"description": "GeeksForGeeks",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node start.js",
},
"engines": {
"node": ">=7.6.0",
"npm": ">=4.1.2"
},
"author": "GeeksForGeeks",
"license": "ISC",
"dependencies": {
"body-parser": "^1.17.1",
"express": "^4.15.2",
"express-validator": "^3.1.2",
"mongoose": "^4.8.7",
"nodemon": "^1.14.12",
},
"devDependencies": {},
"repository": {
"type": "git",
"url": "https://github.com/gfg/gfg.git" //sample git repo url
},
"bugs": {
"url": "https://github.com/gfg/gfg/issues"
},
"homepage": "https://github.com/gfg/gfg#readme"
}
์์ :
name: ํ๋ก๊ทธ๋จ/ํ๋ก์ ํธ์ ์ด๋ฆ
version: ํ๋ก๊ทธ๋จ์ ๋ฒ์ ์ ๋๋ค. ๋ฒ์ ์ ์๋ฏธ ์ฒด๊ณ ๋ฒ์ ๊ด๋ฆฌ ๊ท์น์ ๋ฐ๋ผ์ผ ํ๋ค.
description: ํ๋ก๊ทธ๋จ์ ๋ํ ์ค๋ช , ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ชฉ์ , React, MongoDB ๋ฑ๊ณผ ๊ฐ์ด ์ฌ์ฉ๋๋ ๊ธฐ์
main: ์ฑ์ ์ง์ ์ /์์์ ์ ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ด ์์๋ ๋ ํธ๋ฆฌ๊ฑฐ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ ํ์ผ์ ์ง์ ํฉ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ npm start ์ฌ์ฉํ์ฌ ์์ํ ์ ์๋ค.
scripts: ์ ๋๋ก ์คํํ๊ธฐ ์ํด ์์ฉ ํ๋ก๊ทธ๋จ์ ํฌํจ๋์ด์ผ ํ๋ ์คํฌ๋ฆฝํธ.
engines: ์ฌ์ฉ๋ ๋ ธ๋ ๋ฐ npm์ ๋ฒ์ ์ ๋๋ค. ์ด๋ฌํ ๋ฒ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด google-cloud๊ณผ ๊ฐ์ ํด๋ผ์ฐ๋์ ๋ฐฐํฌ๋๋ ๊ฒฝ์ฐ์ ์ง์ ๋๋ค.
keywords: ์์ฉ ํ๋ก๊ทธ๋จ์ ํน์ง์ง๋ ๋ฌธ์์ด ๋ฐฐ์ด์ ์ง์ ํ๋ค.
author: ์ด๋ฆ, ์ด๋ฉ์ผ ๋ฐ ๊ธฐํ ์ ์ ๊ด๋ จ ์ ๋ณด์ ๊ฐ์ ์ ์์ ๋ํ ์ ๋ณด๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
license: ์์ฉ ํ๋ก๊ทธ๋จ์์ ํ์ธํ๋ ๋ผ์ด์ ์ค๋ key-value pair ์ธ๊ธ๋์ด ์์ต๋๋ค.
dependencies: ์ค์น๋ ํ์ฌ ํจํค์ง ๋๋ ๋ชจ๋
npm: npm ์ง์
devDependencies: ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ ๋ถ๋ถ์์๋ง ์ฌ์ฉ๋๋ ์ข ์์ฑ์ ์ด๊ณณ์์ ์ง์ ๋ฉ๋๋ค.
repository: ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์๋ ์ ์ฅ์์ ์ ํ ๋ฐ URL์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
bugs: ๋ฒ๊ทธ๋ฅผ ๋ณด๊ณ ํด์ผ ํ๋ URL๊ณผ ์ด๋ฉ์ผ์ด ์ด๊ณณ์ ์ธ๊ธ๋์ด ์์ต๋๋ค.
์ฐธ์กฐ: URL : Node.js package.json - GeeksforGeeks
Node.js package.json - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
www.geeksforgeeks.org
์์ฆ ์๊ฐ์ด ๋๋ฌด ๋นจ๋ฆฌ๊ฐ๋ค.
๋ถ์ง๋ฐํ ๋ญ๊ฐ ํด์ผ์ง ํ๋ฉด์๋ ๋ง์ด ๋์น๊ณ ์๋ ๊ฒ ๊ฐ๋ค..!

์.. ์๋.. ์ด์ฌํ ์... ํด์ผ์ง.. ํ์ดํ .. ๋..