Jak spustit oddělené Ts soubory na TSC?

hlasů
1

Udělal jsem dvě strojopisu soubory A.tsa TestA.ts.

A.ts

class A {
    constructor( private name : string ){}
    disp(){ console.log( this.name ); }
}

TestA.ts

/// <reference path=A.ts/>
var a1 = new A( Jun );
a1.disp();
  • tsc TestA.ts
    OK. To dělá A.js a TestA.js.

  • tsc TestA.ts -e
    NG. „RefenceError: Anení definována“

  • tsc A.ts TestA.ts -e
    také vyvolává stejnou chybu

Kam mám jít špatně?

Položena 04/10/2012 v 14:07
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
4

/// <reference path="A.ts"/>Používá se pouze v době kompilace k referenční typy v jiném souboru. Při použití této konstrukce, strojopisem předpokládá, že tyto typy budou nějakým způsobem již k dispozici v běhu. To znamená, že jste zodpovědní za nakládání sami.

To, co jste chtěl udělat, je odkazovat na jiné soubory při běhu . To se provádí pomocí modulů a importa exportklíčová slova.

Zkuste to:

A.ts

export class A {   
  constructor(private name : string ) {}
  disp() {
    console.log(this.name);
  }
}

TestA.ts

import a = module('./a');
var a1 = new a.A( "Jun" );
a1.disp();

Pak můžete použít tsc TestA.ts -eke kompilaci a spustit kód.

Odpovězeno 04/10/2012 v 15:52
zdroj uživatelem

hlasů
1

Máte chybu boční v kódu (chybí „)“). Tenhle sestavuje:

class A {   
  constructor(private name : string ) {}
  disp() {
    console.log(this.name);
  }
}

UPRAVIT :

Pokud jde o vaši první prob, je třeba exportovat prvního modulu a pak jej importovat ve svém druhém souboru.

Budete muset použít externí modul nakladač (jako RequireJS), aby bylo možné ji provést jako překladač bude provádět volání vyžadují funkce (jako CommonJS modulu).

viz: Jak se modul načítá Práce s strojopisem

A.ts

export class A {
  constructor(private name : string ){}
  disp() {
    console.log(this.name);
  }
}

TestA.js

var A = require("./A")
var a1 = new A.A("Jun");
a1.disp();
Odpovězeno 04/10/2012 v 15:06
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more