πŸ“ NPM νŒ¨ν‚€μ§€ λ°°ν¬ν•˜κΈ° - Package μ„€μ • 및 npm 배포( 포인티 λ””μžμΈ μ‹œμŠ€ν…œ ν”„λ‘œμ νŠΈ )

10_2pangΒ·2023λ…„ 7μ›” 27일
0

βš½οΈνŠΈλŸ¬λΈ”μŠˆνŒ…

λͺ©λ‘ 보기
79/94
post-thumbnail

πŸ‘¨β€πŸ’»Β μ‚¬κ±΄


μ²˜μŒμ— μ£Όλ¨Ήκ΅¬κ΅¬μ‹μœΌλ‘œ main,module,types μ„€μ •ν•΄λ‘μ–΄μ„œ μ›ν•˜λŠ” κ²°κ³Όλ₯Ό λ„μΆœν•˜μ§€ λͺ»ν•˜μ˜€λ‹€.
npm pack ν•˜μ—¬, λ¨Όμ € ν•œλ²ˆ μ‚¬μš©ν•΄λ³΄μ•˜μ„λ•Œ import from κ²½λ‘œκ°€ λ‚΄κ°€ μ›ν•˜λŠ” κ²½λ‘œκ°€ μ•„λ‹ˆμ˜€λ‹€.

그리고 잘λͺ¨λ₯΄κ³  npm publish λ₯Ό λƒ…λ‹€ λ¨Όμ € ν•΄λ²„λ Έμ—ˆλŠ”λ°, μ΄λ²ˆμ— ν•œλ²ˆ 올리렀고 ν–ˆλ‹€κ°€ 였λ₯˜κ°€ λ°œμƒν•˜μ˜€λ‹€.

βœ…Β ν•΄κ²°


μ „μžμ˜ κ²½μš°μ—λŠ” 각 μ†μ„±μ˜ 역할에 λŒ€ν•΄ μˆ™μ§€λ₯Ό ν•˜μ—¬μ„œ ν•΄κ²°ν•˜μ˜€λ‹€.
main 의 κ²½μš°μ—λŠ” npm νŒ¨ν‚€μ§€μ˜ entry point λ₯Ό μ§€μ •ν•΄μ€€λ‹€. 즉, μ‹€μ œ import ν•˜μ—¬ λͺ¨λ“ˆμ„ μ‚¬μš©ν• λ•Œ, μ§„μž…ν¬μΈνŠΈλ₯Ό μ„€μ •ν•΄λ‘λŠ” ν˜•νƒœμ΄λ‹€.
module 의 경우, ES6 λͺ¨λ“ˆ ν˜•μ‹μœΌλ‘œ 뢈러올 λ•Œ μ‚¬μš©λ˜λŠ” entry point λ₯Ό μ§€μ •ν•΄μ€€λ‹€. cjs 뿐 μ•„λ‹ˆλΌ ES6 λͺ¨λ“ˆλ„ μ—”νŠΈλ¦¬ 지점뢀터 μ‚¬μš©ν• μˆ˜μžˆλ‹€.
types 의 경우, νƒ€μž…μŠ€ν¬λ¦½νŠΈ μ‚¬μš©μ‹œ entry point λ₯Ό μ§€μ •ν•΄μ€€λ‹€. js 파일이 μ•„λ‹ˆλΌ ts λ₯Ό μ‚¬μš©ν• λ•Œ 지정을 ν•΄μ€„μˆ˜ μžˆλŠ”κ²ƒμ΄λ‹€.

ν•΄λ‹Ή 속성을 μ•Œκ³  μ§€μ •ν•΄μ£Όλ‹ˆ λ¬Έμ œμ—†μ΄, νŒ¨ν‚€μ§€ν™” λ˜μ—ˆλ‹€.

κ·ΈλŸ¬λ‚˜, λ‹€μ‹œ publish ν• λ•Œ λ¬Έμ œκ°€ μƒκ²ΌλŠ”λ°, μ΄λŠ” μ•„μ£Ό μ‚¬μ†Œν•˜λ‹€.
package 의 버전을 μ—…λ°μ΄νŠΈ ν•΄μ£Όμ§€ μ•Šμ•„μ„œ λ°œμƒν•œ λ¬Έμ œμ΄λ‹€.

이제 npm νŒ¨ν‚€μ§€λ‘œ 잘 μ˜¬λΌκ°”κ³ , μ‚¬μš©ν•˜λŠ”κ²ƒμ—λ„ λ¬Έμ œκ°€ 없이 μž˜μ‚¬μš©ν• μˆ˜μžˆλ‹€.

πŸ’­Β κ°œμ„ 


  • npm νŒ¨ν‚€μ§€λ₯Ό ν•˜μ—¬ μ˜¬λ ΈμœΌλ‚˜, ν™˜κ²½λ³€μˆ˜ μ„ΈνŒ…μ„ 일단 μ£Όλ¨Ήκ΅¬κ΅¬μ‹μœΌλ‘œ κ³΅κ°œν•˜λ©΄μ„œ μ‚¬μš©ν•˜κ³ μžˆλ‹€. λ§Œμ•½, κ³΅κ°œκ°€ μ–΄λ €μš΄ ν™˜κ²½λ³€μˆ˜λΌλ©΄ μ–΄λ–»κ²Œ μ„ΈνŒ…μ„ ν•΄μ•Όν•˜λŠ”μ§€ μ•Œμ•„λ³Ό ν•„μš”κ°€ μžˆκ² λ‹€.
profile
μ£Όλ‹ˆμ–΄ ν”„λ‘ νŠΈμ—”λ“œ 개발자 이광렬 μž…λ‹ˆλ‹€ 🌸

0개의 λŒ“κΈ€