Typescript: Memperluas modul eksternal

Dibuat pada 28 Nov 2014  ·  3Komentar  ·  Sumber: microsoft/TypeScript

Saya mencoba memperluas modul simpul eksternal:

// 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 {
...

Adakah pemikiran tentang bagaimana saya mungkin/seharusnya memperluas modul eksternal?

Question

Semua 3 komentar

Saya pikir ini bisa berhasil, memenangkan poin untuk keterbacaan:

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

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

Anda dapat melakukannya hari ini:

Dalam file .d.ts terpisah:

declare module "fs" {
  stuff: number;
}

Di monkeypatcher Anda:

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

Saya tidak berpikir kita akan menambahkan sintaks tambahan untuk ini karena ini (semoga?) bukan skenario umum.

FWIW ini tidak lagi berfungsi saat menggunakan resolusi simpul dan "modul eksternal yang tepat". Modul ambient hanya menimpa semua node yang diselesaikan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat