Typescript: تمديد وحدة خارجية

تم إنشاؤها على ٢٨ نوفمبر ٢٠١٤  ·  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;
}

في monkeypatcher الخاص بك:

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

لا أعتقد أننا سنضيف بناء جملة إضافي لهذا لأنه (نأمل؟) ليس سيناريو شائعًا.

FWIW لم يعد هذا يعمل عند استخدام دقة العقدة و "الوحدات الخارجية المناسبة". تتجاوز الوحدة النمطية المحيطة ببساطة أي وحدة تم حلها بواسطة العقدة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات