2013-03-27 26 views

cevap

36

Bu örnekte ne yaptığınızı söylemek zor. exports =, harici modüllerinden dışa aktarma hakkındadır, ancak bağlandığınız kod örneği, dahili modülüdür.

Başparmak kuralı: module foo { ... } yazıyorsanız, bir iç modül yazıyorsunuz; Bir dosyada export something something yazıyorsanız, bir harici modül yazıyorsunuz. En üst düzeyde export module foo yazacağınız (nadiren ismini çift-yuvalayacaksınız) ve nadiren en üst düzey bir dışa aktarma olan bir dosyaya module foo yazacağınız nadirdir (o zamandan beri) foo harici olarak görünmez).

şu şeyler duygusu (yatay bir kural tarafından tarif her bir senaryo) yapmak:


// An internal module named SayHi with an exported function 'foo' 
module SayHi { 
    export function foo() { 
     console.log("Hi"); 
    } 

    export class bar { } 
} 

// N.B. this line could be in another file that has a 
// <reference> tag to the file that has 'module SayHi' in it 
SayHi.foo(); 
var b = new SayHi.bar(); 

file1.ts

// This *file* is an external module because it has a top-level 'export' 
export function foo() { 
    console.log('hi'); 
} 

export class bar { } 

file2.ts

// This file is also an external module because it has an 'import' declaration 
import f1 = module('file1'); 
f1.foo(); 
var b = new f1.bar(); 

file1.ts

// This will only work in 0.9.0+. This file is an external 
// module because it has a top-level 'export' 
function f() { } 
function g() { } 
export = { alpha: f, beta: g }; 

file2.ts

// This file is also an external module because it has an 'import' declaration 
import f1 = require('file1'); 
f1.alpha(); // invokes f 
f1.beta(); // invokes g 
+2

sayesinde 'ihracat fonksiyonu filan()' sözdizimi ben –

+3

arıyordu ne Dört yıl sonra, "ihracat" ın "kamu" olarak adlandırılmasının çok daha anlamlı olacağını düşünüyorum. – Loupax

İlgili konular