ν°λ―Έλμ μλμ λͺ λ Ήμ΄λ₯Ό μ λ ₯νλ©΄
tsc --init
ν΄λμ λͺλͺ μ€μ κ³Ό 100μ¬κ°μ μ£Όμμ΄ λ¬λ¦° tsconfig.json νμΌμ΄ μμ±λ κ²μ΄λ€.
tsconfigλ νμ μ€ν¬λ¦½νΈλ₯Ό μλ°μ€ν¬λ¦½νΈλ‘ λ³νν λ μ€μ μ μ μν΄λμ νμΌμ΄λ€.
μ λ€λ¦ tsc λͺ λ Ήμ΄λ₯Ό μ¬μ©νλ©΄ λͺ¨λ .ts νμΌμ μ»΄νμΌλ§ νλ€.
tsc
νΉμ νμΌ μ»΄νμΌ λͺ λ Ήμ΄
tsc νμΌλͺ
.ts
ν΄λΉ νμΌλ§ μ»΄νμΌλλ€.
λ¨ ν λ²λ§ μ»΄νμΌνμ§ λ§λΌκ³ μ§μνλ μ΅μ
μ΄λ€.
TypeScriptκ° λ³κ²½ μ¬νμ΄ λ°μνλμ§ νμ κ°μνκ³ ν΄λΉ νμΌμ λ³κ²½νκ³ μ μ₯νλ©΄ μλμΌλ‘ λ€μ μ»΄νμΌνλλ‘ νλ λͺ
λ Ήμ΄μ΄λ€.
tsc -w νμΌλͺ
.ts
μμ λ§ν tsc λͺ
λ Ήμ΄λ‘ νμΌμ μ»΄νμΌ ν μ μμ§λ§ μ¬λ¬κ°μ νμΌμΌ κ²½μ° νλμ© μ»΄νμΌνκΈ° μ΄λ ΅λ€.
νΉμ μμΉλ§ μ»΄νμΌνκ±°λ νΉμ νμΌμ 무μνλλ‘ μ€μ ν μ μλ€.
TypeScriptκ° νΉμ νμ μ§ν©μ νμΌλ§ μ»΄νμΌνλλ‘ μ€μ νλ λ°©λ²
μ»΄νμΌ ν λͺ¨λ νμΌμ λμ΄νλ€.
{
"compilerOptions": {},
"files": [
"core.ts",
"sys.ts",
"types.ts",
"scanner.ts",
"parser.ts",
"utilities.ts",
"binder.ts",
"checker.ts",
"tsc.ts"
]
}
files μ΅μ μ ν¬ν¨ν νμΌμ΄ λ§μ§ μμ μκ·λͺ¨ νλ‘μ νΈμ μ ν©νλ€.
μ»΄νμΌ ν νΉμ μμΉλ₯Ό μ§μ νλ€.
include μ΅μ μ μ¬μ©νμ§ μμΌλ©΄ Default κ°μ λͺ¨λ νμΌμ μ»΄νμΌ νλ©°
νμΌ μ΄λ¦μ tsconfig.jsonμ΄ ν¬ν¨λ λλ ν°λ¦¬λ₯Ό κΈ°μ€μΌλ‘ κ²°μ λλ―λ‘ νλ‘μ νΈμ μ΅μμ ν΄λ,μ¦ λ£¨νΈ λλ ν°λ¦¬μ μ μ₯ν΄μΌ νλ€.
{
"include": ["src/**/*", "tests/**/*"]
}
βββ scripts β¨―
β βββ lint.ts β¨―
β βββ update_deps.ts β¨―
β βββ utils.ts β¨―
βββ src β
β βββ client β
β β βββ index.ts β
β β βββ utils.ts β
β βββ server β
β β βββ index.ts β
βββ tests β
β βββ app.test.ts β
β βββ utils.ts β
β βββ tests.d.ts β
βββ package.json
βββ tsconfig.json
βββ yarn.lock
include μ΅μ κ³Ό λ°λλ‘ μ»΄νμΌν νμΌμ μ μΈνλ μ΅μ μ΄λ€.
{
"include": ["src/**/*", "tests/**/*"]
"exclude": [src/client/*, "node_modules"]
}
βββ scripts β¨―
β βββ lint.ts β¨―
β βββ update_deps.ts β¨―
β βββ utils.ts β¨―
βββ src β
β βββ client β
β β βββ index.ts β¨―
β β βββ utils.ts β¨―
β βββ server β
β β βββ index.ts β
βββ tests β
β βββ app.test.ts β
β βββ utils.ts β
β βββ tests.d.ts β
βββ package.json
βββ tsconfig.json
βββ yarn.lock
exclude μ¬μ©μ μ£Όμν μ μ΄ μλλ°, include νλͺ© μ€ node_modules λλ ν°λ¦¬κ° μλ€λ©΄ λ°λμ μ μΈν΄μ μμ‘΄μ±μ΄ μ»΄νμΌλμ§ μλλ‘ ν΄μΌνλ€.
TypeScriptκ° μ»΄νμΌλ Javascript νμΌμ λ΄λ³΄λΌ μμΉλ₯Ό μ§μ νλ€.
λκ·λͺ¨ νλ‘μ νΈμμλ λ³΄ν΅ src λλ ν°λ¦¬ λλ νΉμ λλ ν°λ¦¬μ TypeScript νμΌμ λͺ¨μλλ©° TypeScript νμΌμ μ¬μνλ Javascript νμΌμ λ³λμ λλ ν°λ¦¬μ μ»΄νμΌνλ©° λ³΄ν΅ λλ ν°λ¦¬ μ΄λ¦μ distλ‘ μ¬μ©λλ€.
TypeScript λλ ν°λ¦¬ μ΄λ¦ : src
JavaScript λλ ν°λ¦¬ μ΄λ¦ : dist
"outDir" : "./dist"
TypeScriptλ₯Ό μ»΄νμΌν JavaScriptμ λ²μ μ μ μ΄νλ μ΅μ μ΄λ€.
"target" : "es6"
"lib" : [
"dom",
"es5"
]
lib μ΅μ
μ κΈ°λ³Έκ°μ target νλͺ©μμ μ§μ ν ECMAScriptμ λ²μ μ λ°λΌ κΈ°λ³Έκ°μ΄ μ μλ©λλ€.
λλΆλΆμ κ²½μ° κΈ°λ³Έκ°λ§ μ¬μ©νμ§λ§ TypeScript λΌμ΄λΈλ¬λ¦¬λ₯Ό 컀μ€ν
νκ² μ°λ €κ³ ν λ, libμ μ μνμ¬ μ¬μ©νλ€.
TypeScript μ 체μ νμ
κ²μ¬ μΆκ°κ·μΉ,μ μ½ μ‘°κ±΄μ΄ νμ±ν λλ€. μ¦, νμ
κ²μ¬λ₯Ό λ³΄λ€ μ격νκ² λ§λ€λ©°
νλ‘κ·Έλ¨μ μ νμ±μ λμ΄λ κ²μ΄ ν΅μ¬μ΄λ€.
"strict" : true