TypeScript μ»΄νμΌ μ μμ±λλ js.map νμΌ
π js.map νμΌ?
νμ
μ€ν¬λ¦½νΈλ‘ μμ±λ νμΌμ μ€νμν€κΈ° μν΄μλ λ¨Όμ tsc
λ‘ μ»΄νμΌμ ν΄μΌνλλ°
μ΄λ tsconfig.json
μ source-map
μ€μ μ νλ€λ©΄ js.map
μ΄λΌλ νμΌλ ν¨κ» μμ±λ©λλ€.
λ¨Όμ tsconfig.json
μ λ€μκ³Ό κ°μ΄ source map
μ€μ μ ν©λλ€.
"compilerOptions": {
"sourceMap": true,
},
κ·Έλ¦¬κ³ λ€μκ³Ό κ°μ νμ μ€ν¬λ¦½νΈ μμ μ½λλ₯Ό μμ±ν©λλ€.
interface Animal {
name: string;
}
function callAnimal(animal: Animal) {
console.log(animal);
}
const animal: Animal = { name: "aa" };
debugger;
callAnimal(animal);
λ§μ§λ§μΌλ‘ tsc
λ‘ μ»΄νμΌ νλ©΄ λ€μκ³Ό κ°μ΄
index.js
μ index.js.map
λ κ°μ νμΌμ΄ μμ±λλ κ²μ νμΈν μ μμ΅λλ€.
/dist
γ΄ index.js
γ΄ index.js.map
κ·ΈλΌ μ¬κΈ°μ js.map
νμΌμ μ©λλ 무μμΌκΉμ?
π js.map νμΌμ κ΅¬μ± λ° μ©λ
μ΄λ»κ² ꡬμ±λ νμΌμΈκ°μ?
λ¨Όμ js.map
νμΌμ΄ μ΄λ»κ² ꡬμ±λμ΄μλμ§ νμΈν΄λ³΄κ² μ΅λλ€.
{
"version": 3,
"file": "index.js",
"sourceRoot": "",
"sources": [
"../src/index.ts"
],
"names": [],
"mappings": ";AAIA,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,MAAM,GAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACtC,QAAQ,CAAC;AACT,UAAU,CAAC,MAAM,CAAC,CAAC"
}
JSON
νμμΌλ‘ μμ±λ js.map
νμΌμ κ° μμ±λ³ μ©λλ λ€μκ³Ό κ°μ΅λλ€.
- version : μ¬μ©λ
source map
μ μ€ν λ²μ μ λλ€. - file : ν΄λΉ
map
νμΌμ΄ μ°Έμ‘°νκ³ μλJS
νμΌμ λλ€. - sourceRoot : μ»΄νμΌν
TS
νμΌλ€μ λ£¨νΈ λλ ν 리λ₯Ό μ§μ ν©λλ€. - sources : μ»΄νμΌν
TS
νμΌλ€μ λͺ©λ‘μ λλ€. - names : μ»΄νμΌ ν
output
μμ μ κ±°λκ±°λ λ³κ²½λ μλ³μμ λν μ 보λ₯Ό λ΄κ³ μμ΅λλ€. - mappings :
base64
μΈμ½λ©λ λ¬Έμμ΄λ‘TS
νμΌκ³ΌJS
νμΌ μ¬μ΄μ 맀ν μ 보λ₯Ό λ΄κ³ μμ΅λλ€.
κ·ΈλΌ μ΄ νμΌμ΄ μ νμν κ²μΈκ°μ?
μ»΄νμΌλ μλ°μ€ν¬λ¦½νΈ μ½λλ minify
μ uglify
λ±μ κ³Όμ μ κ±°μ³ μ½κΈ° νλ ννλ‘ μ‘΄μ¬ν©λλ€.
μ΄ κ²½μ° λλ²κΉ μ ν μ ν΄μ λΆκ°λ₯ν μ½λ λλ¬Έμ μ΄λ €μμ΄ μ‘΄μ¬νκΈ° λλ¬Έμ κ°λ° μ νΈμμ±μ μν΄
μ»΄νμΌ λκΈ° μ μ νμ μ€ν¬λ¦½νΈ μ½λμμ 맀ν νμΌμ΄ μ‘΄μ¬νλ κ²μ λλ€.
π μ°Έκ³ μλ£
What is a TypeScript Map file?
Emitting TypeScript Source Maps
'π¨βπ» web.dev > js.ts' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TypeScript] enum κ³Ό union type, μΈμ μ¨μΌν κΉ? (2) | 2022.07.09 |
---|---|
[JavaScript] Array.sort λ μμ μ±μ 보μ₯ν κΉ? (0) | 2022.03.09 |
[JavaScript] Object.defineProperty μ λν΄μ (0) | 2022.03.06 |
[JavaScript] Promise.all vs Promise.allSettled (0) | 2022.02.20 |
[JavaScript] μ΅λͺ ν¨μμ κΈ°λͺ ν¨μ, μΈμ μ¨μΌν κΉ? (0) | 2022.02.20 |
π¬ λκΈ