2024. 2. 3. 21:58ใfront-end/JavaScript
๐ ์์ ์ด ๋ง๋ ๋ชจ๋๋ก npm package ๋ฐฐํฌํ๋ ๋ฒ์ ์ค๋ช ํ๋ค.
git repository ๋ฅผ node ๋ก ๋ง๋ค์ด์ค ํ clone์ ํ์์ต๋๋ค.
๊ทธ ๋ค์ index.js ํ์ผ์ ๋ง๋ค๊ณ ๊ฐ๋จํ๊ฒ sum ํจ์๋ฅผ ๋ง๋ ๋ค module.exports ๋ฅผ ํ์์ต๋๋ค.
module.exports ๋ ๋ง๋ค ์ ์๊ณ import ๋ฅผ ํด์ค๋ ค๋ฉด export ๋ก ๋ง๋ค์ด์ค์ผ ํฉ๋๋ค.
npm init ์ -y๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด package.json ํ์ผ์ ๋ง๋ค์ด ์ค๋๋ค.
๊ทธ ๋ค์ npm login ์ ํด์ค ํ
npm publish ๋ฅผ ํด์ฃผ๋ฉด ๋ฐฐํฌ๊ฐ ๋ฉ๋๋ค.
access๋ฅผ ์ค์ ํด์ฃผ์ง ์์์
'You muse sign up for private packages' ๋ผ๊ณ ์๋ฌ ๋ฌธ๊ตฌ๊ฐ ๋์์ต๋๋ค.
ํ ์คํธ ์ฉ๋๋ก ์์ ํ๊ฒ์ด๊ธฐ ๋๋ฌธ์ access ์ public ๊ฐ์ ์ถ๊ฐํด์คฌ์ต๋๋ค.
๋ค์ npm publish ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ ๋ฐฐํฌ๊ฐ ๋์์ต๋๋ค.
๋ค๋ฅธ ํ๋ก์ ํธ์์ ์ค์น ํ ์คํธ๋ฅผ ํด๋ณด์์ต๋๋ค.
npm i @verysoyoung/npm-text ๊น์ง๋ง ํด๋๋์ง๋ง ๋ฒ์ ์ ๋ถ์ฌ์ ์ค์นํ์์ต๋๋ค.
์ค์น์ฑ๊ณต!
module.exports ๋ก ๋ชจ๋ํ ํ์๊ธฐ ๋๋ฌธ์ require ์ ํตํด์ ๋ชจ๋์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
๐ es6์์ ๊ณต์์ ์ผ๋ก ์ฑํ๋ ๋ชจ๋ํ ๋ฐฉ์์ธ export, import ๋ก ๋ชจ๋ํ ํ๊ธฐ
index2.js ํ์ผ์ ๋ง๋ค์ด์ ํจ์๋ฅผ export ํด์ค๋๋ค.
์ฌ๋ฌ๊ฐ์ ํ์ผ์ ๋ฐฐํฌํ๋ ค๋ฉด ํ๋์ root ํ์ผ์์ ํ์ผ์ ๋ชจ์ export ํด์ค์ผ ํฉ๋๋ค. (์ด๊ฑด ์ปดํฌ๋ํธ ๋ฐฐํฌํ ๋ ๋ค์ ์ฌ๋ฆฌ๊ฒ ์ต๋๋ค!)
์ ์ฅ์ ํด์ค ํ ๋ฐฐํฌ๋ฅผ ๋ค์ํ๋ ค๋ฉด ๋ฒ์ ์ ์ ํด์ค์ผ ํฉ๋๋ค. v1.0.0 -> v1.0.1๋ก ์ฌ๋ ธ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ module ์ index2.js๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
๊ทธ ๋ค์ ์ด ์ ๋ฐฉ๋ฒ๊ณผ ๋๊ฐ์ด npm publish ๋ฅผ ํด์ค๋๋ค.
๋ฐฐํฌ์ฑ๊ณต!
์ด์ ์ ์ค์นํ๋ ๋ค๋ฅธ ํ๋ก์ ํธ์์ ๋ฒ์ ์ ์ ํด์ ์ค์นํ์์ต๋๋ค.
'No matching version found for' npm package.. ๋ผ๊ณ ๋์๋๋ฐ
๋ฐฐํฌ๋ ๋์์ผ๋ npm package ๋ฅผ ์ฐพ์ง ๋ชปํ์์ต๋๋ค.
์ฐพ์๋ณด๋ ์บ์ ๋๋ฌธ์ธ๊ฑธ๋ก ํ๋จํ๋ฉฐ
npm cache clean --force ๋ก ์บ์๋ฅผ ์ง์์คฌ์ต๋๋ค.
๋ค์ ์ค์นํ๋ ์ค์น์ฑ๊ณต!
import ๋ก ํจ์๋ฅผ ๊ฐ์ ธ์์ต๋๋ค.
console.log ๋ก ํจ์๋ฅผ ์คํํด๋ณด๋ ์ ๋์ค๊ณ ์์ต๋๋ค.
๋ชจ๋์ ํ์ ์ ์ง์ ํด์ฃผ์ง ์์์ ์๊ธฐ๋ ์๋ฌ์ ๋๋ค. ํ์ ์คํฌ๋ฆฝํธ๋ก ๋ค์ ๋ฐฐํฌํ๋ ๊ฑธ๋ก,,
๐ ์ฒ์์ผ๋ก npm package ๋ฅผ ๋ฐฐํฌํด๋ดค๋๋ฐ, ๊ทธ๋ฅ ํจ์์์ง๋ง ๋ค์์๋ ๋๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ESLint ๋ฑ์ ํจํค์ง๋ก ๋ฐฐํฌํด์ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ๊ฐ๋ฅํ ๊ฒ ๊ฐ์์ต๋๋ค. ์ฝ๊ฐ ์ค๋ ๋ ๋ง์,, ๋๊ทผ๋๊ทผ
๋ค์ ๋ชจ๋์ ์์ ํ ๋ ์์ฃผ ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค์ด ๋ณด๋ ค ํฉ๋๋ค.
๋ด๊ฐ ์ฒ์์ผ๋ก ๋ฐฐํฌํ npm ํจํค์ง
https://www.npmjs.com/package/@verysoyoung/npm-text
์๋ ๋ฐฐํฌ ์์คํ (์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ผ๊ด์ ์ผ๋ก ์์ฑํ์ฌ ์ด ์๋งจํฑ ๋ฒ์ ์ ์๋ํ ํด์ฃผ๋ ๋๊ตฌ)