Typescript: ์™ธ๋ถ€ ๋ชจ๋“ˆ ํ™•์žฅ

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

์™ธ๋ถ€ ๋…ธ๋“œ ๋ชจ๋“ˆ์„ ํ™•์žฅํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

// a) Use an import?
import System.Fs.Node = require('fs');

// b) Hackery? 
var System = System || {}
var System.Fs = System.Fs || {}
var System.Fs.Node = require('fs')

module System.Fs.Node {

    var path = require('path');

    interface IfOptions_mkdir {
        mode?: number
        recursive: boolean
    }

    export function mkdirSync($path: string, $options: IfOptions_mkdir|number) {
        try {
...

์™ธ๋ถ€ ๋ชจ๋“ˆ์„ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ํ™•์žฅํ•ด์•ผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ƒ๊ฐ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

Question

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

๋‚˜๋Š” ์ด๊ฒƒ์ด ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์ ์ˆ˜๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

module System.Fs.Node {
    export * from "fs";

    export function mkdirSync($path: string, $options: IfOptions_mkdir|number) {
     //...
    }
  }

์˜ค๋Š˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

๋ณ„๋„์˜ .d.ts ํŒŒ์ผ:

declare module "fs" {
  stuff: number;
}

์›์ˆญ์ด ํŒจ์ฒ˜์—์„œ:

/// reference the above .d.ts file
import fs = require('fs');
fs.stuff = 3;

์ผ๋ฐ˜์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— (์ž˜ํ•˜๋ฉด?) ์ด์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๊ตฌ๋ฌธ์„ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

FWIW๋Š” ๋…ธ๋“œ ํ™•์ธ ๋ฐ "์ ์ ˆํ•œ ์™ธ๋ถ€ ๋ชจ๋“ˆ"์„ ์‚ฌ์šฉํ•  ๋•Œ ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•ฐ๋น„์–ธํŠธ ๋ชจ๋“ˆ์€ ๋‹จ์ˆœํžˆ ๋ชจ๋“  ๋…ธ๋“œ ํ•ด๊ฒฐ ๋ชจ๋“ˆ์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

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