Definitelytyped: @types/core-js๋Š” ๋ฒ„์ „ 0.9.37์—์„œ ๋นŒ๋“œ๋ฅผ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 03์›” 13์ผ  ยท  47์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: DefinitelyTyped/DefinitelyTyped

  • [X] @types/xxxx ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • [X] ์•ˆ์ •์ ์ธ ์ตœ์‹  ๋ฒ„์ „์˜ tsc๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. https://www.npmjs.com/package/typescript
  • [X] StackOverflow ์— ์ ํ•ฉํ•˜์ง€ ์•Š์€ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. (์ ์ ˆํ•œ ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ๊ฑฐ๊ธฐ์—์„œ ์งˆ๋ฌธํ•˜์‹ญ์‹œ์˜ค.)
  • [X] [๋ฉ˜์…˜](https://github.com/blog/821-mention-somebody-they-re-notified) ์ž‘์„ฑ์ž( Definitions by: in index.d.ts ) ๋Œ€๋‹ตํ•˜๋‹ค.

    • ์ €์ž: @rbuckton

0.9.37 core-js ํŒจํ‚ค์ง€์™€ tsc 2.2.1์— ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋งŽ์€ ์ปดํŒŒ์ผ๋Ÿฌ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. (๊ทธ ์ค‘ ์ผ๋ถ€๋งŒ ๋ฐœ์ทŒ)
node_modules/@angular/core/src/facade/lang.d.ts(12,17): error TS2693: 'Map'์€ ์œ ํ˜•๋งŒ ์ฐธ์กฐํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
node_modules/@angular/core/src/facade/lang.d.ts(13,17): error TS2693: 'Set'์€ ์œ ํ˜•๋งŒ ์ฐธ์กฐํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
node_modules/@types/core-js/index.d.ts(47,36): ์˜ค๋ฅ˜ TS2304: 'Iterable' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
node_modules/@types/core-js/index.d.ts(350,48): ์˜ค๋ฅ˜ TS2304: 'PropertyKey' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
node_modules/@types/core-js/index.d.ts(351,52): ์˜ค๋ฅ˜ TS2304: 'PropertyKey' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
node_modules/@types/core-js/index.d.ts(352,34): ์˜ค๋ฅ˜ TS2304: 'PropertyKey' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
node_modules/@types/core-js/index.d.ts(353,34): ์˜ค๋ฅ˜ TS2304: 'PropertyKey' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
node_modules/@types/core-js/index.d.ts(354,34): ์˜ค๋ฅ˜ TS2304: 'PropertyKey' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
node_modules/@types/core-js/index.d.ts(355,61): ์˜ค๋ฅ˜ TS2304: 'PropertyKey' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
.....
node_modules/@types/core-js/index.d.ts(2103,41): ์˜ค๋ฅ˜ TS2339: 'toStringTag' ์†์„ฑ์ด 'SymbolConstructor' ์œ ํ˜•์— ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
node_modules/@types/core-js/index.d.ts(2107,41): ์˜ค๋ฅ˜ TS2339: 'SymbolConstructor' ์œ ํ˜•์— 'unscopables' ์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.
node_modules/rxjs/Observable.d.ts(69,60): error TS2693: '์•ฝ์†'์€ ์œ ํ˜•๋งŒ ์ฐธ์กฐํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
node_modules/rxjs/operator/toPromise.d.ts(3,79): error TS2693: '์•ฝ์†'์€ ์œ ํ˜•๋งŒ ์ฐธ์กฐํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
typescript\shared\login.component.ts(81,62): ์˜ค๋ฅ˜ TS2339: '์ฐพ๊ธฐ' ์†์„ฑ์ด '๋‹จ์œ„[]' ์œ ํ˜•์— ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
typescript\shared\login.component.ts(81,62): ์˜ค๋ฅ˜ TS2339: '์ฐพ๊ธฐ' ์†์„ฑ์ด '๋‹จ์œ„[]' ์œ ํ˜•์— ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

0.9.35์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ts.config๊ฐ€ es5์—์„œ ef2017๋กœ ๋ณ€๊ฒฝ๋˜์–ด ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ •๋ง๋กœ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

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

์ถ”๊ฐ€ํ•˜์—ฌ

"lib": ["es2017", "dom"]

tsconfig.json compilerOptions ์— ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@andy-ms ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

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

์—ฌ๊ธฐ์„œ๋„ ๋งŽ์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. (์ด๋ฆ„ "Promise"๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ, "Set" ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ, ...)
0.9.36์œผ๋กœ ๋˜๋Œ๋ฆฌ๋ฉด ํ˜„์žฌ ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

@andy-ms / @mhegazy

"Definition by"๋Š” @rbuckton ์ด๋ผ๊ณ 

@rbuckton ์ด ์ฑ…์ž„์ด ์—†๋Š” ๊ฒฝ์šฐ index.d.ts๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์ฑ…์ž„์œผ๋กœ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

tsconfig์—์„œ --lib ๋ฅผ ์„ค์ •ํ•˜์—ฌ ํ•„์š”ํ•œ ์ •์˜๋ฅผ ์–ป์œผ์‹ญ์‹œ์˜ค.

@andy-ms ์ €๋Š” typescript ์ปดํŒŒ์ผ๋Ÿฌ, ๋‚ด๋ถ€ ๋ฐ ์œ ํ˜• ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ์ต์ˆ™ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ lib ์„น์…˜์—์„œ ๋ฌด์—‡์„ ์„ค์ •ํ•ด์•ผ ํ• ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์™œ? ์กฐ์–ธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@dozer75 ์ด ๋งํฌ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค: [typescript ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜].(https://www.typescriptlang.org/docs/handbook/compiler-options.html)

tsconfig.json ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ ํฌํ•จํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฌธ์ž์—ด ๋ฐฐ์—ด๊ณผ ํ•จ๊ป˜ lib ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ €๋ฅผ ์œ„ํ•ด ์ €๋Š” ๋…ธ๋“œ ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ @types/core-js๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(๋Œ€์ƒ es5 ์‚ฌ์šฉ, ์ฆ‰ ์ œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ํ”„๋กœ๋•์…˜์„ ์œ„ํ•ด es5๋กœ ์ปดํŒŒ์ผ๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค). ๊ทธ๋ž˜์„œ "es2015" ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์— ์žˆ๋Š” ๊ฒฝ์šฐ "dom" ์ถ”๊ฐ€ํ•˜๋ฉด ํ‘œ์ค€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ window ๋ฐ ์ด์™€ ์œ ์‚ฌํ•œ ํ•ญ๋ชฉ๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ํ•˜์—ฌ

"lib": ["es2017", "dom"]

tsconfig.json compilerOptions ์— ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@andy-ms ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

@DrDanRyan typescript ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด es5๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด DOM, ES5, ScriptHost๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์€ ํ•„์š”ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
@Narven ์€ lib์— es2017์„ ์ถ”๊ฐ€ํ•  ๋•Œ core-js ํƒ€์ดํ•‘์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ ์ค‘๋ณต ์‹๋ณ„์ž๋ฅผ ์–ป์ง€ ๋ชปํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

core-js ํƒ€์ดํ•‘์ด ๊ฐ‘์ž๊ธฐ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ธํŠธ์— ์˜์กดํ•˜๋Š” ์ด์œ ๊ฐ€ ์•ฝ๊ฐ„ ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‚˜์—๊ฒŒ ์˜ฌ๋ฐ”๋ฅธ ํ•ด๊ฒฐ์ฑ…์ฒ˜๋Ÿผ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@DaSchTour lib ์†์„ฑ์„ ์ง์ ‘ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด lib: ["dom", "es5", "scriptHost"] ๊ฐ€ ๋Œ€์ƒ es5์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ๊ฐ’์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฐ”์ด๋ฉฐ, ์ด๊ฒƒ์ด lib: ["es2015", "dom"] ์ง์ ‘ ์ง€์ •ํ•  ๋•Œ ์ค‘๋ณต ์‹๋ณ„์ž๋ฅผ ์–ป์ง€ ๋ชปํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ lib ์˜ต์…˜์€ ์˜์กด์„ฑ์ด ์•„๋‹Œ @types/core-js ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋Œ€์ฒด ํ•ฉ๋‹ˆ๋‹ค.

@DrDanRyan ํ™•์‹คํžˆ ๋Œ€์ฒดํ’ˆ์ด ์•„๋‹™๋‹ˆ๋‹ค ! ES2017์šฉ lib ์—๋Š” @types/core-js ๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์€ ๋‚ด์šฉ์ด ํฌํ•จ๋˜์–ด core-js๋กœ ํด๋ฆฌํ•„๋˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ์ˆจ๊น๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋…ธ๋“œ ์„œ๋ฒ„์—์„œ ์ž‘๋™ํ•˜๋Š” "es2015" ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค...

๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. lib ์—๋Š” core-js ์ด์ƒ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ core.js์— ๋Œ€ํ•œ ์ž…๋ ฅ์ด lib "ํ™•์žฅ"๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์—ฌ๊ธฐ์„œ ์„œ๋กœ ๊ณผ๊ฑฐ๋ฅผ ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ๋ง์€ lib: ["es2015"] ๋ฅผ tsconfig.json ๋„ฃ์€ ํ›„ ๋” ์ด์ƒ @types/core-js ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ œ๊ฑฐํ•˜๊ณ  ์ด์ œ ์ปดํŒŒ์ผ๋Ÿฌ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋ฅผ PR๊ณผ ๊ต์ฐจ ์—ฐ๊ฒฐ: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/15108

lib: ["es2015"] ๋„ฃ์–ด๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์•„์ง๋„ ์–ป๋Š”๋‹ค

error TS2693: 'Promise' only refers to a type, but is being used as a value here.

๋‚˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  "lib": [
    "es5",
    "es2015",
    "es2017",
    "dom",
    "scripthost"
  ],

์—ฌ์ „ํžˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์‹คํŒจํ•œ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์ด๊ฒƒ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๊ฒฐํ–ˆ๋‹ค.

{
  "compilerOptions": {
    "target": "es6",
    "module": "es6",
    ...
  },
  "lib": [
    "ES5",
    "ES2015",
    "DOM",
    "ScriptHost"
  ]

@types/core-js ์ œ๊ฑฐ

@dmitriid ๋Š” ์ด์œ ๋ฅผ ๋ชจ๋ฅด์ง€๋งŒ ๋™์ผํ•œ lib ๊ฐ’์ด ์ €์—๊ฒŒ

์—ฌ๊ธฐ ๋‚ด ์ „์ฒด tsconfig๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "es5",
      "es2015",
      "es2017",
      "dom",
      "scripthost"
    ],
    "module": "commonjs",
    "experimentalDecorators": true,
    "sourceMap": true
  }
}

์•„๋งˆ, ๋‚˜๋Š” ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์›๋ž˜ ๊ฒŒ์‹œ๋ฌผ์—์„œ ๋‚ด ์ฐฌ์„ฑํ‘œ๋ฅผ ๋˜์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

"lib" ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•œ ์žฅ๊ธฐ ์†”๋ฃจ์…˜์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด @types/cores-js๊ฐ€ ์ˆ˜์ •๋˜์–ด ์ด์ „๊ณผ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@PrimalZed core-js๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— lib๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•œ ์†”๋ฃจ์…˜์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ lib ๋ฐ @types/core-js๋Š” ๋™์ผํ•œ ๋ฉ”์„œ๋“œ ์ง‘ํ•ฉ์„ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉฐ core-js๋Š” ํ•ญ์ƒ lib๋ณด๋‹ค ์ ์€ ์ˆ˜๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

@DaSchTour ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ES6 Map์„ ์‚ฌ์šฉํ•˜๋Š” X ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉฐ es6 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •์˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.
  • ์ด์ „ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด X ๊ฐ€์ ธ์˜ค๊ธฐ ์ „์— ์ฝ”๋“œ์—์„œ core-js ํด๋ฆฌํ•„์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์‹ค์ œ ํด๋ฆฌํ•„ ๊ตฌํ˜„์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๋ฏ€๋กœ ํด๋ฆฌํ•„์€ https://github.com/DefinitelyTyped/DefinitelyTyped/issues/15104 ์™€ ๊ฐ™์€ ๋ฒ„๊ทธ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋™์ผํ•œ ์ •์˜๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@just-boris ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ Y๊ฐ€ ์žˆ๊ณ  core-js๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  es6 lib๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ es5๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๋™์•ˆ ๊ฐœ๋ฐœ์ž๋Š” ๋ฌธ์ž์—ด์— normalize๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹์•„์š” ๐ŸŽ‰ ์‚ฌ์šฉํ•ด๋ด…์‹œ๋‹ค ๋ฐ”๋กœ ์ œ๊ฐ€ ์ฐพ๋˜ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ช‡ ์ฃผ ํ›„์— IE11 ๋ฐ Safari 9์—์„œ ํ…Œ์ŠคํŠธํ•œ ํ›„ TypeScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”ผํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ์ด์ƒํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค ๐Ÿค”
์•„ ๊ทธ๋ฆฌ๊ณ  ๊ฐ‘์ž๊ธฐ IE11์—์„œ ES5์™€ ํ•จ๊ป˜ ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ‹์ง„!
๋”ฐ๋ผ์„œ polyfill์€ ๋ฒ„๊ทธ๋ฅผ ํ”ผํ•˜๊ณ  ์•ˆ์ „ํ•œ ์‚ฌ์šฉ์„ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด ES6์— ๋Œ€ํ•œ ์™„์ „ํ•œ 100% ์ง€์›์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 100%, 99,999%๋Š” lib๊ฐ€ ํด๋ฆฌํ•„(polyfill)๋˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ ๋” ์ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐ”์ด๋ฐ”์ด core-js ๐Ÿ˜ข

๊ฒฐ๊ตญ @types/ core-js @

"lib": [
      "dom",
      "dom.iterable",
      "es2015",
      "scripthost"
    ],

์ถ”๊ฐ€ํ•˜์—ฌ

"lib": ["es2017", "dom"]

tsconfig.json์˜ ๋‚ด compilerOptions์— ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@Narven ๊ฐ์‚ฌ

@just-boris ๊ท€ํ•˜์˜ ์˜๊ฒฌ์€ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค, ty!

"target es5"์—์„œ ์ž‘๋™ํ•˜๋ ค๋ฉด ์ด๊ฒƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. lib๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ•ดํ‚น์ด๊ณ  ์ „์ฒด์ ์œผ๋กœ ๋‚˜์œ ๋ƒ„์ƒˆ๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค.

์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•์€ @types/core-js๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ๋ถˆํ–‰ํžˆ๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

let p = Promise.resolve( [ 1, 2, 3 ] );
p.then( function( v ) {
  console.log( v[ 2 ] ); // 1
} );

@andy-ms / @mhegazy
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด #15108์— ์“ด ๊ธ€์„ ๋‹ค์‹œ ํ‘œ๋ฉดํ™”ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

Typescript ์ •์˜ ํŒŒ์ผ์˜ ์š”์ ์€ ํŒจํ‚ค์ง€๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๊นŒ? ์ •์˜๋Š” ํ™˜๊ฒฝ์ด ์•„๋‹ˆ๋ผ ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด ์ •ํ™•ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ core-js๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์˜ˆ๋ฅผ ๋“ค์–ด import 'core-js'์™€ ๊ฐ™์ด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ๊ทธ๋“ค์ด ํ™˜๊ฒฝ์„ ์‰ฌ๋ฐํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ฃ ?

์‚ฌ๋žŒ๋“ค์ด ํ˜•์‹ ์ •์˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋Ÿฐํƒ€์ž„์ด ์•„๋‹Œ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์— ๋ฌธ์ œ๋ฅผ ๋“œ๋Ÿฌ๋‚ด๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค. core-js ์ •์˜๊ฐ€ es2015/es2016/es2017์— ๋Œ€ํ•œ ์™„๋ฒฝํ•œ ํด๋ฆฌํ•„์„ ์ œ๊ณต ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— core-js ๊ฐ€ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด ์‹ค์ œ๋กœ ๋งค์šฐ ์ค‘์š” ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ core-js ์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ฒฝ์šฐ ํ™˜๊ฒฝ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐ€ ๋ณ„๋„์˜ ๋ฌธ์ œ๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํด๋ฆฌํ•„์ด ํ‘œ์ค€๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ํ”„๋กœ์ ํŠธ ๊ฐ„์— ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์—ฌ๊ธฐ์—์„œ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ€๋ณ๊ฒŒ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, @types ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ์˜ ์˜ํ–ฅ์„ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์€

tsconfig.json ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

    "target": "es5",
    "lib": ["es2015", "dom"]

์ด ์†”๋ฃจ์…˜์—์„œ ์ •๋ง ์–ด๋ฆฌ์„์€ ์ ์€ "dom"์„ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉด Promise๊ฐ€ ์‚ฌ์šฉ๋  ๋•Œ TypeScript๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ์ผ์œผํ‚ค๊ฒŒ ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋นŒ๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gulp + gulp-typescript๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ tsconfig.json์„ ๊ณ ๋ คํ•˜๋„๋ก typescript ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๊ฒƒ์„ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค:

gulp.task('typescript', function () {
  var tsProject = ts.createProject(`${sourceRoot}/tsconfig.json`);
  return gulp.src([`${sourceRoot}/**/*.ts`])
    .pipe(tsProject())
    .pipe(gulp.dest(`${destinationRoot}`));
});

์ด๊ฒƒ์€ ์‚ฌ๋žŒ๋“ค์˜ ๋‹ค๋ฅธ ์‘๋‹ต๊ณผ ํ•จ๊ป˜ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :์Šค๋งˆ์ผ:

์ถ”๊ฐ€ํ•˜์—ฌ

"lib": ["es2015", "dom"]
tsconfig.json์˜ ๋‚ด compilerOptions์— ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@elusive ๊ฐ€ ์ง€์ •๋œ ๊ฐ’์œผ๋กœ ๋‚ด tsconfig.json "lib" ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์ปดํŒŒ์ผ ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ํ•ดํ‚น์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

๋” ๊นจ๋—ํ•œ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋กœ ์ด์–ด์ง„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์œ ์ถœ๋˜์—ˆ๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ํ•œ ๋ถ€๋ถ„์€ tsconfig.json์„ ๋ณ€๊ฒฝํ–ˆ๊ณ  ๋‹ค๋ฅธ ๋ถ€๋ถ„์€ ํƒ€์ดํ•‘ ๋ฒ„์ „์„ ์ด์ „ ๋ฆด๋ฆฌ์Šค๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

@DaSchTour์€ : ๊ทธ๊ฒƒ์€์— ๋Œ€ํ•œ ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹จ์ง€์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด ๊ฒฝ์šฐ์—๋Š” ๋‚ด๊ฐ€ tsconfig.json์˜ ํŠธ๋ฆญ์„ ์‚ฌ์šฉ Frint

๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ์‹ค์ œ ์†”๋ฃจ์…˜์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. core-js๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์ตœ์‹  ๋ชจ๋“  ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ lib ์˜ˆ์ œ ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค :(

์ด ์˜ค๋ฅ˜๋„ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์„ ์†์ƒ์‹œํ‚ค์ง€๋Š” ์•Š์ง€๋งŒ ์ปดํŒŒ์ผ ์‹œ ์ž‘์€ ๋นจ๊ฐ„ ์„ ์„ ๋ณด๋Š” ๊ฒƒ์ด ์งœ์ฆ๋‚ฉ๋‹ˆ๋‹ค.

๊ทธ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

"target": "es5"
...
"lib": ["es5","dom","scripthost","es2015"]

๊ธฐ์ˆ ์ ์œผ๋กœ ์˜ค๋ฅ˜๋Š” "lib": ["es2015","dom"] ๋กœ ์‚ฌ๋ผ์กŒ์ง€๋งŒ TS ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜ ์„ ๋ณด๋ฉด es5 ๋Œ€์ƒ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ lib ์ฃผ์ž…์€ "es5", "dom","scripthost" ์ด๊ณ  ์ €๋Š” ' ๊ธฐ๋ณธ๊ฐ’์„ ์žƒ๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ณ€๊ฒฝ์œผ๋กœ lib ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „๊ณผ ๋น„๊ตํ•˜์—ฌ ๋‚ด ํ”„๋กœ๊ทธ๋žจ ์‘๋‹ต์—์„œ ์ƒ๋‹นํ•œ ์ง€์—ฐ/๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜์—ฌ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ง„์ •ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ๊ต‰์žฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์ฐธ๊ณ ๋กœ, NG2๋ฅผ ์ž‘๋™์‹œํ‚ค๋ ค๊ณ  ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ Angular CLI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

Angular CLI๊ฐ€ ์ƒ์„ฑํ•˜๋Š” tsconfig๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

"compileOnSave": false,
  "compilerOptions": {
    "outDir": "wwwroot/js/out-tsc",
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }

์—ฌ๊ธฐ์— ์“ฐ์—ฌ์ง„ ๋ชจ๋“  ๋‚ด์šฉ์€ ๋‚ด ์ƒ๊ฐ์— ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋ผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋žซ๋™์•ˆ ์ด๊ฒƒ์„ ์—ด์–ด ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์ •์˜ ํŒจํ‚ค์ง€ ์ž์ฒด์—์„œ ํ•ด๊ฒฐ๋  ๊ฒƒ์ด ์•„๋‹Œ๊ฐ€?

๋‹ค๋ฅธ ์ƒํƒœ๋กœ, tsconfig์— lib ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€๋งŒ ์ด ํŒจํ‚ค์ง€๋ฅผ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. lib(์–ด์จŒ๋“  ์ˆ˜ํ–‰ํ•ด์•ผ ํ•จ)๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด ํŒจํ‚ค์ง€๊ฐ€ ์™œ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

๋‚ด ์†”๋ฃจ์…˜์€ ๋‚ด ts.config์— lib: [ "es2015", "dom" ]์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์œผ๋ฉฐ lib ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ํ•„์š”ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŒจํ‚ค์ง€์˜ ์†Œ์œ ์ž๊ฐ€ ์ด๊ฒƒ์œผ๋กœ ์•„๋ฌด ๊ฒƒ๋„ ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒฝ์šฐ. ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ์ด์œ ์™€ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด ์†”๋ฃจ์…˜์€ Windows ์‹œ์Šคํ…œ์—์„œ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

"lib": ["es2017", "dom"]
tsconfig.json์˜ ๋‚ด compilerOptions์— ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@andy-ms ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

@Jtreu ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ๊ฟ€๊บฝ ๊ฟ€๊บฝ ๊ฟ€๊บฝ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.

https://github.com/toni-rmc/laravel-angular-integration

๊ท€ํ•˜์˜ ์‘๋‹ต์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์œผ๋กœ ๋กค๋ฐฑํ•˜๊ธฐ ์œ„ํ•ด PR์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19531

@dozer75 @ctlong @DaSchTour @rajinder- yadav @jackTheRipper

์˜ˆ๋ฅผ ๋“ค์–ด, core-js ์žˆ๋Š” ES6 ๊ธฐํ˜ธ๋งŒ shimmingํ•˜๋Š” es5 , dom , es2015.symbol ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ํ•ด์„์ด ๋งž๋Š”์ง€ ๋ˆ„๊ฐ€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”!
/cc @andy-ms

@cvsguimaraes ๋งž์Šต๋‹ˆ๋‹ค.

์ด๊ฑฐ ์•„์ง๋„ ๊ณ ์žฅ๋‚ฌ์–ด? 0.9.43์—์„œ error TS2304: Cannot find name 'PropertyKey'. ๋“ฑ์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ: ์‹ ๊ฒฝ ์“ฐ์ง€ ๋งˆ์„ธ์š”. tsc priotractor.ts ์™€ ๊ฐ™์€ ๋ช…๋ น์ค„์—์„œ ์ปดํŒŒ์ผํ•  ์†Œ์Šค ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋ฉด `tsconfig.xml ํŒŒ์ผ์„ ์ฝ์ง€ ๋ชปํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ปดํŒŒ์ผํ•˜๋ ค๋Š” ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ํฌํ•จํ•˜๋Š” ๊ฐ๋„๊ธฐ ํ…Œ์ŠคํŠธ์šฉ์œผ๋กœ ์ƒˆ tsconfig ํŒŒ์ผ์„ ๋งŒ๋“ค์—ˆ์œผ๋ฉฐ ์ง€๊ธˆ์€ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ๋„์›€์ด๋œ๋‹ค๋ฉด ์—ฌ๊ธฐ ๋‚ด ๊ตฌ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

{
   "compileOnSave": false,
   "compilerOptions": {
      "baseUrl": ".",
      "moduleResolution": "node",
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "target": "es5",
      "typeRoots": [
         "node_modules/@types"
      ],
      "lib": [
         "es2016",
         "dom"
      ]
   },
   "files": [
      "./config/protractor.config.ts"
   ]
}

๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋‚ด ์‹ค์ˆ˜์—์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ. ์˜ฌ๋ฐ”๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ tsconfig.json์„ ํŽธ์ง‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค!

๋งŽ์€ ๋จธ๋ฆฌ๋ฅผ ๋ถ€๋”ช์นœ ํ›„ VSCode์—์„œ ์—ฐ root/src์˜ ๊ตฌ์„ฑ ๋Œ€์‹  ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์˜ ๊ตฌ์„ฑ์„ ํŽธ์ง‘ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ๋ณ€๊ฒฝํ•œ ํ›„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

TypeScript๋ฅผ v2.6.1๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ  VS Code์šฉ ๋ฒ„์ „์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@IAMtheIAM์ด ๊ณ ์ณค ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ๋‚˜์—ด๋œ ๋Œ€๋ถ€๋ถ„์˜ compilerOptions ์„ค์ •์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋ฉฐ์น  ๋™์•ˆ ๊ฑฐ์˜ ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์  ์žฅ, ๋‚ด OS์—์„œ typescript ํŒจํ‚ค์ง€๊นŒ์ง€ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค!

์ด ์†”๋ฃจ์…˜์€ ์˜ˆ๊ณ  ๋„ˆ๋ฌด ์‰ฌ์› ๋‹ค ๋‹˜์˜ TS ํŒŒ์ผ์„ ํ†ต๊ณผํ•˜์ง€ tsc ์ง์ ‘, ์˜คํžˆ๋ ค ๊ทธ๋“ค์„ ์ง€์ • tsconfig.json ๊ทธ๋ƒฅ ์ „ํ™” tsc .

@shybovycha ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ•œ ๋ฌธ์„œ๋Š” ํŒŒ์ผ์„ ๋ช…๋ น์— ์ง์ ‘ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ  ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฏธ๋‹ˆ '์ˆ˜์ •'์ด ์—†์œผ๋ฉด ์—ฌ์ „ํžˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค.

    "@types/core-js": "2.5.0"
    "core-js": "2.5.7"
    "typescript": "3.1.6"
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰