
π‘ JS κΈ°λ° νλ‘μ νΈμλ μ¬λ§ν΄μλ
package.jsonνμΌμ΄ μλ€. νμμ κ·Έμ νλ‘μ νΈμμ μ¬μ©λμλ μ¨λνν° λΌμ΄λΈλ¬λ¦¬λͺ μ΄λ λ²μ μ λ κΈ°μ¬λ κ²μΌλ‘λ§ μλ€κ° μ μ install νλ λ°©μλ§λ€ λ€λ₯Έ μ΅μ μΌλ‘ μ€μΉνλκ² λ΄ λ¨Έλ¦¬λ‘λ μ μ λ¦¬κ° μλμ μ΄μ°Έμ ν λ² μ 리νλ€!
μλ°μ€ν¬λ¦½νΈκ° νλ‘κ·Έλλ° μΈμ΄λ‘μ ννλ€ λ§μ΄ μ¬μ©νλ μλ°μ λλΆμ΄ λ§μ΄ μ°μ΄λ μ΄μ λ‘λ μ€ν μμ€ μνκ³κ° κ·Έ μ΄μ κ° λ κ²μ΄λ€. μλ₯Ό λ€μ΄ μλ²μμ λ΄λ €λ°μ DateTime κ°μ νλ©΄μ νμν λ day.js λΌμ΄λΈλ¬λ¦¬ κ΄λ ¨ λ©μλκ° μλ€λ©΄ λ³λμ 컀μ€ν ν μ΄ νμν κ²μ΄λ€. μ΄λ κ·Έλ΄μ μλ€ μΉμ§λ§ react-router-dom, react-redux λ± νλ‘μ νΈμ κ΄ν΄μ μ€μΆμ΄ λλ μ¨λνν° λΌμ΄λΈλ¬λ¦¬λ 컀μ€ν ν μΌλ‘λ λ체νκΈ°κ° μ¬μ€μ νλ€λ€.
package.json νμΌμ μ½κ² λ§ν΄ μ°λ¦¬μ μλ°μ€ν¬λ¦½νΈ νλ‘μ νΈλ₯Ό npm μ μ₯μμ μνΈ μμ©ν μ μλλ‘ λ§λ€μ΄μ£Όλ μ€μν μ°κ²° κ³ λ¦¬μ΄λ€.
package.json νμΌμ ν΅ν΄ npm ν¨ν€μ§ μ μ₯μλ‘λΆν° μ΄λ€ ν¨ν€μ§λ₯Ό λ΄λ €λ°μ μ€μΉν΄μΌ νλμ§, λν μ°λ¦¬μ νλ‘μ νΈλ₯Ό λ€λ₯Έ νλ‘μ νΈμμ μ¬μ©ν μ μλλ‘ μ΄λ»κ² npm ν¨ν€μ§ μ μ₯μμ μ¬λ¦΄κ²μΈμ§λ₯Ό μ€μ ν μ μλ€.
package.json νμΌμ scripts νλλ νλ‘μ νΈμμ λΉλ²νκ² μνν΄μΌ νλ μμ μ μ€ν¬λ¦½νΈλ‘ λ±λ‘νκΈ° μν΄ μ¬μ©λλ€. ν°λ―Έλμμ νν npm run λͺ λ Ήμ΄λ‘ μ€ννλ μ€ν¬λ¦½νΈλ λͺ¨λ μ¬κΈ°μ μ μλμ΄ μλ€κ³ 보면 λλ€. (μ, npm run dev, npm run test, npm run storybook, β¦)
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
}
}
package.json νμΌμμ κ°μ₯ μΉμν νλλ₯Ό λ½μΌλΌλ©΄ μμ‘΄μ± λͺ μλ₯Ό μν dependencies μΌ κ²μ΄λ€. μ’ λ μλ°ν μκΈ°λ₯Ό νλ©΄ ν΄λΉ νλ‘μ νΈκ° μ€νλκΈ° μν΄μ λ°λμ νμν ν¨ν€μ§λ₯Ό μλ―Ένλ€.
μ°λ¦¬κ° ν¨ν€μ§λ₯Ό μ€μΉνκΈ° μν΄μ ν°λ―Έλμμ npm install <ν¨ν€μ§>@<λ²μ > λͺ λ Ήμ΄λ₯Ό μ€ννλ©΄ package.json νμΌμ dependencies νλͺ©μ μλμΌλ‘ λ°μμ΄ λλλ°, κ·Έλμ κ°λ°μκ° μ§μ dependencies νλͺ©μ μμ ν΄μΌ ν μΌμ νμΉ μμΌλ©°, μ€ν κ°λ₯μ±λ μκΈ°μ κ°κΈμ μ§μ μμ μ νΌνλκ² μ’λ€.
{
"dependencies": {
"@tanstack/react-query": "^4.35.0",
"@types/react": "^18.2.21",
"@types/react-dom": "^18.2.7",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.46.1",
"react-router-dom": "^6.15.0",
"zod": "3.22.2"
}
}
package.json νμΌμ devDependencies νλλ μμ κ°λ° μμ‘΄μ±, μ¦ ν μ€νΈ μμ±/μ€νμ΄λ νλ‘μ νΈ λΉλ μμλ§ νμν ν¨ν€μ§λ₯Ό λͺ μνκΈ° μν΄μ μ¬μ©λλ€.
κ°λ° μμ‘΄μ±μΌλ‘ ν¨ν€μ§λ₯Ό μ€μΉν λλ βsave-dev λλ -D μ΅μ μ μ€μ npm install λͺ λ Ήμ΄λ₯Ό μ€ννλ©΄ λλ€.
{
"devDependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"eslint": "^8.48.0",
"jest": "^29.6.4",
"prettier": "^3.0.1",
"typescript": "^5.2.2"
}
}
νΉμ ν¨ν€μ§λ₯Ό μ€μΉν λλ ν¬κ² λ κ°μ§ μ΅μ μΌλ‘ ꡬλΆλλ€.
νλλ νλ‘μ νΈλ₯Ό ꡬλν λ νμν dependencies(μ€μ μ½λμλ ν¬ν¨λλ©° μ± κ΅¬λμ μν΄ νμν μμ‘΄μ± νμΌλ€) λͺ©λ‘μ μΆκ°λ $ npm install (νλ‘μ νΈλͺ
) μΌλ‘ νλ‘μ νΈλ₯Ό μ€μΉνλ μ΅μ
μ΄κ³ , λ€λ₯Έ νλλ κ°λ° λ¨κ³μμλ§ νμν devDependencies(μ€μ μ½λμ ν¬ν¨λμ§ μμΌλ©° κ°λ° λ¨κ³μλ§ νμν μμ‘΄μ± νμΌλ€) λͺ©λ‘μ μΆκ°λ $ npm install -D (νλ‘μ νΈλͺ
) μ΅μ
μ΄λ€.
| νλκ·Έ | ν¨κ³Ό |
|---|---|
| -P | ν¨ν€μ§ μ€μΉ & dependencies μΆκ° |
| βsave-prod | ν¨ν€μ§ μ€μΉ & dependencies μΆκ° |
| -D | ν¨ν€μ§ μ€μΉ & devDependencies μΆκ° |
| βsave-dev | ν¨ν€μ§ μ€μΉ & devDependencies μΆκ° |
| -g | ν¨ν€μ§λ₯Ό νλ‘μ νΈκ° μλ μμ€ν μ node_modules ν΄λμ μΆκ° |
package.json νμΌμ private νλλ νλ‘μ νΈκ° npm ν¨ν€μ§ μ μ₯μλ‘ λ°ν(publish)ν΄λ λλμ§ μ¬λΆλ₯Ό μ§μ νκΈ° μν΄μ μ¬μ©λλ€. κΈ°λ³Έκ°μ falseμ΄κΈ° λλ¬Έμ λ°λ‘ λͺ μν΄μ£Όμ§ μμΌλ©΄ ν΄λΉ νλ‘μ νΈκ° μ€μλ‘ npm ν¨ν€μ§ μ μ₯μλ‘ μ λ‘λλλ μ¬κ³ κ° λ°μν μ μκΈ°μ npm ν¨ν€μ§ μ μ₯μλ‘ μ¬λ¦¬λ©΄ μ λλ νλ‘μ νΈμμλ private νλμ κ°μ λ°λμ trueλ‘ μ€μ νλ κ²μ΄ 보μ μΈ‘λ©΄μμ κΆμ₯λλ€.
{
"private": true
}
package.json νμΌμ homepage μ΅μ μλ ν΄λΉ νλ‘μ νΈμ ννμ΄μ§λ λ¬Έμ νμ΄μ§μ URLμ μ€μ ν μ μλ€. κ·Έλ¬λ©΄ ν°λ―Έλμμ npm docs λͺ λ Ήμ΄λ₯Ό μ€ννμ¬ κ°νΈνκ² ν΄λΉ URLμ μ΄μ΄λ³Ό μ μλ€.
λ°λ©΄μ package.json νμΌμ repository μ΅μ μλ ν΄λΉ νλ‘μ νΈμ μ½λ μ μ₯μμ URLμ μ€μ ν μ μλ€. κ·Έλ¬λ©΄ ν°λ―Έλμμ npm repo λͺ λ Ήμ΄λ₯Ό μ€ννμ¬ κ°νΈνκ² ν΄λΉ URLμ μ΄μ΄λ³Ό μ μλ€.
μ΄ λκ°μ μ΅μ μ νΉν npm ν¨ν€μ§ μ μ₯μμ νλ‘μ νΈλ₯Ό λ°νν λ μλΉν μ€μνλ°, npm μΉμ¬μ΄νΈμμ ν¨ν€μ§ μμΈ νμ΄μ§μ λ€μ΄κ°λ©΄ homepageμ repository νλͺ©μ μ΄ λ κ°μ URLμ΄ λ§ν¬λκΈ° λλ¬Έμ΄λ€. μ¬μ©μλ€μ΄ μ’ λ μμ¬νκ³ λ―Έλ¦¬ ν¨ν€μ§μ λν μ 보λ₯Ό νμΈ νμ μ€μΉν μ μλλ‘ λκΈ° μν¨μ΄λ€.
{
"homepage": "https://www.algodale.com",
"repository": "github:DaleSeo/AlgoDale"
}
package.json νμΌμ license νλλ₯Ό ν΅ν΄μλ ν΄λΉ νλ‘μ νΈμ λΌμ΄μ μ€λ₯Ό νμν μ μλ€. μ무리 μ’μ ν¨ν€μ§λΌλ λΌμ΄μ μ€κ° λͺ μλμ΄ μμ§ μμΌλ©΄ μ°κΈ°κ° κΊΌλ €μ§κΈ° λλ¬Έμ, npmμ λ°νν ν¨ν€μ§λΌλ©΄ λ°λμ λͺ μνλ κ²μ΄ μ’λ€.
{
"license": "MIT"
}
μ¬μ€ νλκ·Έ μμ΄ npm install λ§μ μ¬μ©ν΄λ λμμ νμ§λ§, νλκ·Έλ₯Ό μ¬μ©ν΄ dependencies μ devDependencies λ‘ μμ‘΄μ± λͺ©λ‘μ ꡬλΆνλ©΄ βμ΄κ±΄ κ°λ°μ©, μ΄κ±΄ μ€μ μλΉμ€μ©β μΌλ‘ ꡬλΆνκΈ° μ¬μμ§λ€λ λ©΄μμ κ°λ°μλ€μκ² νμν κΈ°λ₯μ΄λΌκ³ λ³Ό μ μκ² λ€ !