Skip to content

Packages

Sangwoo Jeong edited this page Dec 7, 2024 · 3 revisions

ν”„λ ˆμž„μ›Œν¬μ˜ 또 ν•˜λ‚˜μ˜ νŠΉμ§•μ€, λ‹€λ₯Έ μ‚¬λžŒμ΄ μž‘μ„±ν•œ μ½”λ“œλ₯Ό ν”„λ‘œμ νŠΈμ— ν¬ν•¨μ‹œν‚¬ 수 μžˆλ‹€λŠ” μ μž…λ‹ˆλ‹€. 티도리 ν”„λ ˆμž„μ›Œν¬ λ˜ν•œ νŒ¨ν‚€μ§€λ₯Ό μž‘μ„±ν•˜λŠ” κ²ƒμœΌλ‘œ λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ μžμ‹ μ˜ μ½”λ“œλ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

package.json

티도리 νŒ¨ν‚€μ§€μ˜ κΈ°λ³Έ ν΄λ”κ΅¬μ‘°λŠ” 티도리 ν”„λ‘œμ νŠΈ ν…œν”Œλ¦Ώκ³Ό λ™μΌν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ 취급을 NPM νŒ¨ν‚€μ§€λ‘œ μ·¨κΈ‰ν•˜κΈ° λ•Œλ¬Έμ— package.json 의 λ‚΄μš©μ΄ μ‘°κΈˆμ€ λ‹€λ¦…λ‹ˆλ‹€.

{
  "name": "@tidory/example",
  "version": "1.0.0",
  "main": "assets/app.js",
  "files": [
    "assets",
    "index.pug"
  ]
}

티도리 ν”„λ‘œμ νŠΈ ν…œν”Œλ¦Ώμ—λŠ” env, tidory.config.js λ“± κ°œλ°œμ„ μœ„ν•œ 파일이 ν¬ν•¨λ˜μ–΄ μžˆλŠ”λ°, μ‹€μ§ˆμ μœΌλ‘œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 포함할 λ•ŒλŠ” μ˜λ―Έκ°€ μ—†μœΌλ―€λ‘œ files 배열에 ν¬ν•¨μ‹œν‚¬ ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. μœ„μ˜ 섀정이 ν•„μˆ˜μ μΈ 것은 μ•„λ‹ˆλ©°, ν•„μš”μ— 따라 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€λ©΄ λ¦¬μ•‘νŠΈ, λ·° μ»΄ν¬λ„ŒνŠΈκ°€ μžˆλŠ” 경우 ν•΄λ‹Ή 폴더λ₯Ό ν¬ν•¨μ‹œν‚¬ μˆ˜λ„ 있겠죠.

νŒ¨ν‚€μ§€ μ‚¬μš©ν•˜κΈ°

λ§Œλ“€μ–΄μ§„ νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•˜λ©΄ μ’‹μ„κΉŒμš”? 예λ₯Ό λ“€λ©΄ νŒ¨ν‚€μ§€μ˜ 이름이 example 이고, νŒ¨ν‚€μ§€λ₯Ό κΉƒν—ˆλΈŒ(Github)에 μ˜¬λ Έλ‹€λ©΄, ν”„λ‘œμ νŠΈμ—μ„œλŠ” λ‹€μŒκ³Ό 같이 포함될 수 μžˆμŠ΅λ‹ˆλ‹€.

npm install tidory/example
"dependencies": {
  "@tidory/example": "github:tidory/example"
}

μžμ‹ νŒ¨ν‚€μ§€

μžλ°”μŠ€ν¬λ¦½νŠΈ ν”„λ ˆμž„μ›Œν¬ μ»΄ν¬λ„ŒνŠΈλ₯Ό ν¬ν•¨ν•œ 각쒅 μžμ‹ νŒ¨ν‚€μ§€κ°€ ν¬ν•¨λœ 티도리 νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜κ³  μ‹Άλ‹€λ©΄, 일반 NPM νŒ¨ν‚€μ§€μ²˜λŸΌ app.js μ—μ„œ 포함할 수 μžˆμŠ΅λ‹ˆλ‹€.

require("@tidory/example")

ν…œν”Œλ¦Ώμ— ν¬ν•¨ν•˜κΈ°

티도리 νŒ¨ν‚€μ§€μ— ν¬ν•¨λœ ν…œν”Œλ¦Ώμ„ ν¬ν•¨ν•˜λ €λ©΄, νΌκ·Έμ—μ„œ μ œκ³΅ν•˜λŠ” include ν‚€μ›Œλ“œλ₯Ό 톡해 ν¬ν•¨μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€. ν…œν”Œλ¦Ώ 별칭을 μ§€μ •ν•˜μ§€ μ•Šμ•˜λ‹€λ©΄, 경둜λ₯Ό μ „λΆ€ μž…λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ, @tidory 별칭은 티도리 ν”„λ ˆμž„μ›Œν¬ 내뢀에 미리 λ“±λ‘λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

include node_modules/@tidory/example/index

ν…œν”Œλ¦Ώ 별칭은 μ„€μ •μ—μ„œ μ•Œμ•„λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

@tidory

@tidory 별칭은 미리 μ •μ˜λœ ν…œν”Œλ¦Ώ λ³„μΉ­μž…λ‹ˆλ‹€. @tidory/package ν˜•μ‹μœΌλ‘œ μ‚¬μš©ν•˜λ©΄ node_modules/@tidory/package/index.pug λ₯Ό ν¬ν•¨ν•˜λ©° λ§Œμ•½ 같은 νŒ¨ν‚€μ§€μ— μ†ν•œ λ‹€λ₯Έ ν…œν”Œλ¦Ώμ„ ν¬ν•¨μ‹œν‚€κ³  μ‹Άλ‹€λ©΄ @tidory/package/HelloWorld 와 같은 λ°©μ‹μœΌλ‘œ ν¬ν•¨μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

//- node_modules/@tidory/example/index
include @tidory/example
//- node_modules/@tidory/example/HelloWorld
include @tidory/example/HelloWorld

λ‹€λ₯Έ 티도리 νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜λŠ” νŒ¨ν‚€μ§€ 개발 μ‹œ @tidory 별칭을 μ‚¬μš©ν•˜μ—¬ ν¬ν•¨μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.