Hogyan kell végrehajtani külön .ts fájlokat TSC?

szavazat
1

Csináltam két géppel fájlokat A.tsés TestA.ts.

ATS

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
    RENDBEN. Lehetővé teszi A.js és TestA.js.

  • tsc TestA.ts -e
    NG. „RefenceError: Anincs meghatározva”

  • tsc A.ts TestA.ts -e
    felveti ugyanazt a hibát

Hol tudok baj?

A kérdést 04/10/2012 14:07
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
4

/// <reference path="A.ts"/>csak akkor kell használni fordításkor referencia típusok másik fájlt. Ha ezt a konstrukciót, géppel azt feltételezi, hogy az ilyen típusú valahogy már futásidőben. Vagyis azt, hogy a felelős betöltése rájuk.

Mit akarnak csinálni utalás a többi fájlt futási . Ezt használja modulok és a importés a exportkulcsszavakat.

Próbáld ezt:

ATS

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();

Akkor tudod használni tsc TestA.ts -elefordítani és futtatni a kódot.

Válaszolt 04/10/2012 15:52
a forrás felhasználó

szavazat
1

Van egy oldali hiba a kódban (hiányzik a „)”). Ez egy lefordítja:

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

EDIT:

Ami a kezdeti prob, meg kell exportálni az első modul majd importálja azt a második fájlban.

Meg kell, hogy egy külső modul betöltő (például RequireJS), annak érdekében, hogy képes legyen végrehajtani azt a fordító fog végrehajtani igényel függvényhívás (például CommonJS modul).

lásd: Hogyan működik a modul betöltése Munka géppel

ATS

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();
Válaszolt 04/10/2012 15:06
a forrás felhasználó

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