Cum de a executa fișiere Ts separat pe TSC?

voturi
1

Am făcut două fișiere masina de scris A.tsși 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
    O.K. Se face A.js și TestA.js.

  • tsc TestA.ts -e
    NG. „RefenceError: Anu este definit“

  • tsc A.ts TestA.ts -e
    De asemenea, ridică aceeași eroare

Unde am greșit?

Întrebat 04/10/2012 la 14:07
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
4

/// <reference path="A.ts"/>este utilizat doar în timpul compilării de referință tipuri într-un alt fișier. Când utilizați acest construct, typescript presupune că aceste tipuri vor fi într-un fel deja disponibile în timpul rulării. Adică, sunteți responsabil pentru încărcarea le tine.

Ceea ce doresc să faceți este de referință celelalte fișiere în timpul rulării . Acest lucru se face cu ajutorul modulelor și importși de exportcuvinte cheie.

Incearca asta:

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

Apoi , puteți utiliza tsc TestA.ts -epentru a compila și executa cod.

Publicat 04/10/2012 la 15:52
sursa de către utilizator

voturi
1

Ai o eroare de partea în cod (lipsește un „)“). Acesta compilează:

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

EDITAȚI | × :

În ceea ce privește Exchage inițială, trebuie să exportați primul modul, apoi importați-l în al doilea fișier.

Va trebui să utilizați un încărcător modul extern (cum ar fi RequireJS), pentru a putea să-l execute ca compilatorul va pune în aplicare o funcție de apel necesită (cum ar fi modulul CommonJS).

vezi: Cum Modul de lucru Se incarca cu masina de scris

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();
Publicat 04/10/2012 la 15:06
sursa de către utilizator

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