Typescript: sourceRoot๋Š” ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ง€์›ํ•˜๊ณ  ํด๋” ๊ณ ์šฉ ๊ตฌ์กฐ๋ฅผ ์กด์ค‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2015๋…„ 10์›” 08์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: microsoft/TypeScript

sourceRoot๋ฅผ ์ œ๊ณตํ•˜๋ฉด ๊ทธ๋Œ€๋กœ ์†Œ์Šค ๋งต ํŒŒ์ผ์— ์ง์ ‘ ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ rootDir ๋ฐ outDir ์˜ต์…˜์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ :

repo / src / www / foo.ts
repo / src / bar.ts

๊ทธ๋ฆฌ๊ณ  ํŒŒ์ผ์„ repo / out /์œผ๋กœ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค .sourceRoot : '../src'๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. bar.js์—์„œ๋Š” ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ www / foo.js์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์„ค๋ช…์ด ์ดํ•ด๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@mhegazy @sheetalkamat ๋‹ค์Œ๊ณผ ๊ฐ™์€ tsconfig.json์ด ์žˆ์Šต๋‹ˆ๋‹ค.

{
    "compilerOptions": {
        "rootDir": "./",
        "outDir": "./out",
        "sourceMap": true
    }
}

๋‚ด ์†Œ์Šค๋Š” ./src์— ์žˆ์Šต๋‹ˆ๋‹ค.
์†Œ์Šค ๋งต์—๋Š” "sources":["../../src/index.ts"]
์ด๊ฒƒ์€ ๊ฐœ๋ฐœ์—๋Š” ๋งž์ง€๋งŒ ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ๋ฅผ ์œ„ํ•ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์€ "sources":["src/index.ts"] (์™œ๋ƒํ•˜๋ฉด ์†Œ์Šค ์ฝ”๋“œ๋กœ ์†Œ์Šค ๋งต์„ ๋‚ด๋ณด๋‚ด๊ณ  ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ์—์„œ js ๊ทผ์ฒ˜์— ts๋ฅผ ๊ฐ–๊ธฐ๋ฅผ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค). ํ•  ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  3 ๋Œ“๊ธ€

sourceRoot ๋Š” ๊ด€๋ จ ์†Œ์Šค๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ๋””๋ฒ„๊ทธ์—์„œ ์‚ฌ์šฉํ•  ๋ฃจํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ƒ๋Œ€ ๊ฒฝ๋กœ ๋งŒ ์›ํ•˜๋Š” ๊ฒฝ์šฐ sourceRoot๋ฅผ ์„ค์ •ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์˜ฌ๋ฐ”๋ฅธ ์ผ์ด ๋ฐœ์ƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ์— ๋‚ด ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค.

tsconfig.json

{
    "compilerOptions": {
        "rootDir": "./",
        "outDir": "./out",
        "sourceMap": true
    }
}

์ปดํŒŒ์ผํ•˜๋ฉด ๋‹ค์Œ์„ ์–ป์Šต๋‹ˆ๋‹ค.

C:\test\5180>type out\bar.js.map
{"version":3,"file":"bar.js","sourceRoot":"","sources":["../src/bar.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAE,CAAC,CAAC"}
C:\test\5180>type out\www\foo.js.map
{"version":3,"file":"foo.js","sourceRoot":"","sources":["../../src/www/foo.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAC,CAAC"}

๋‚ด ์‹ค์ˆ˜, tsc๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. gulp ํ†ตํ•ฉ์— ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ.

@mhegazy @sheetalkamat ๋‹ค์Œ๊ณผ ๊ฐ™์€ tsconfig.json์ด ์žˆ์Šต๋‹ˆ๋‹ค.

{
    "compilerOptions": {
        "rootDir": "./",
        "outDir": "./out",
        "sourceMap": true
    }
}

๋‚ด ์†Œ์Šค๋Š” ./src์— ์žˆ์Šต๋‹ˆ๋‹ค.
์†Œ์Šค ๋งต์—๋Š” "sources":["../../src/index.ts"]
์ด๊ฒƒ์€ ๊ฐœ๋ฐœ์—๋Š” ๋งž์ง€๋งŒ ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ๋ฅผ ์œ„ํ•ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์€ "sources":["src/index.ts"] (์™œ๋ƒํ•˜๋ฉด ์†Œ์Šค ์ฝ”๋“œ๋กœ ์†Œ์Šค ๋งต์„ ๋‚ด๋ณด๋‚ด๊ณ  ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ์—์„œ js ๊ทผ์ฒ˜์— ts๋ฅผ ๊ฐ–๊ธฐ๋ฅผ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค). ํ•  ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰