Language-tools: Typescript ์˜ค๋ฅ˜-JS ์ธ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•˜์œ„ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•ด "event"๋ฅผ ํ˜ธ์ถœ ํ•  ๋•Œ ๊ฐ์ฒด๋ฅผ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 09์›” 10์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: sveltejs/language-tools

๋ฒ„๊ทธ ์„ค๋ช…

์ด ๋‹ซํžŒ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•œ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค-https: //github.com/sveltejs/language-tools/issues/396
์œ ์ผํ•œ ์ฐจ์ด์ ์€ plainJS ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํ•ด๋‹น ๊ตฌ์„ฑ ์š”์†Œ์— ์‚ฌ์šฉ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์—ฐ ์‚ฌ๋žŒ์ด ๊ทธ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์†Œ์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค.
Svelte Material UI ์Šฌ๋ผ์ด๋”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ์ด๋ ‡๊ฒŒ ์ˆ˜์ž…ํ•œ๋‹ค

import Slider from '@smui/slider/bare.js';

์ด๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์ค„์ž…๋‹ˆ๋‹ค- <Slider on:volume-changed={event => changeTrackVolume(event, track)}/>

๋‚ด types.d.ts๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด

declare module '@smui/slider/bare.js' {
    export class Slider {
        $$prop_def: any;
        $on: any;
    }
}
Object is of type 'unknown'.ts(2571)
Argument of type 'typeof import("@smui/slider/bare.js")' is not assignable to parameter of type 'AConstructorTypeOf<unknown>'.
  Type 'typeof import("@smui/slider/bare.js")' provides no match for the signature 'new (...args: any[]): unknown'.ts(2345)

JSX element type 'Slider' does not have any construct or call signatures.ts(2604)

์ด๊ฒƒ์ด ๋‚ด๊ฐ€ ์–ป๋Š” ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ๋˜ํ•œ @ smui / slider ๋“ฑ์œผ๋กœ ์‹œ๋„ํ•˜๊ณ  ๊ธฐ๋ณธ ์Šฌ๋ผ์ด๋”๋ฅผ ๋‚ด๋ณด๋ƒˆ์ง€๋งŒ ์ง€๊ธˆ๊นŒ์ง€ ์•„๋ฌด๊ฒƒ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ๋‚˜๋ฅผ ์ด‰๊ตฌ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ.

question

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

@dummdidumm ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

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

Slider ํด๋ž˜์Šค ์ •์˜์— ์ƒ์„ฑ์ž๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

declare module '@smui/slider' {
  export default class Slider {
    $$prop_def: any;
    $on: any;
  }
}

๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ™์€ ๊ฐ€์ ธ ์˜ค๊ธฐ
import Slider from '@smui/slider';
๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์œผ๋ฉด ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์Šค ๋‹ˆํŽซ + ๋‹จ๊ณ„๋ณ„ ๋˜๋Š” ์ €์žฅ์†Œ๋ฅผ ๊ฒŒ์‹œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@dummdidumm ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

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