์ธ๋ถ ๋ ธ๋ ๋ชจ๋์ ํ์ฅํ๋ ค๊ณ ํฉ๋๋ค.
// 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 {
...
์ธ๋ถ ๋ชจ๋์ ํ์ฅํ๊ฑฐ๋ ํ์ฅํด์ผ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์๊ฐ์ด ์์ต๋๊น?
๋๋ ์ด๊ฒ์ด ํจ๊ณผ๊ฐ ์๋ค๊ณ ์๊ฐํ๊ณ ๊ฐ๋ ์ฑ์ ์ํด ์ ์๋ฅผ ์ป์ต๋๋ค.
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๋ ๋ ธ๋ ํ์ธ ๋ฐ "์ ์ ํ ์ธ๋ถ ๋ชจ๋"์ ์ฌ์ฉํ ๋ ๋ ์ด์ ์๋ํ์ง ์์ต๋๋ค. ์ฐ๋น์ธํธ ๋ชจ๋์ ๋จ์ํ ๋ชจ๋ ๋ ธ๋ ํด๊ฒฐ ๋ชจ๋์ ์ฌ์ ์ํฉ๋๋ค.