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

Masalah terkait

wmaurer picture wmaurer  ·  3Komentar

dlaberge picture dlaberge  ·  3Komentar

Antony-Jones picture Antony-Jones  ·  3Komentar

MartynasZilinskas picture MartynasZilinskas  ·  3Komentar

siddjain picture siddjain  ·  3Komentar