node.js - TypeScript - Bruke <reference path=".....">-taggen
Jeg prøver å legge til en plugin til TypeScript-kompilatoren, så jeg la til koden min og kompilert tsc.ts. Den kompilerer korrekt, men når jeg kjører, mangler noen variabler som er deklarert i io.ts. Jeg fjernet endringene mine, og det fungerer fortsatt ikke. Så jeg prøvde dette:
fil: a.ts
var a : number = 5;
fil: b.ts
///<reference path='a.ts' />
console.log(a);
og deretter kompilere: tsc b.ts som gir meg a.js og b.js. Når jeg prøver å kjøre b.js (jeg gjør node b.js), er variabelen a udefinert. Dette er innholdet i b.js:
///<reference path='a.ts' />
console.log(a);
og det gir derfor mening at a er udefinert, siden a ikke finnes noe sted i denne filen, og dermed heller ikke a.ts.
Komplilerer jeg det feil, eller kjører jeg det feil... eller hva?
Svar #1
Hvis du kjører under Node, bør du bruke export og import for å håndtere avhengigheter mellom filer.
a.ts
export var x = 5;
b.ts
import a = require('./a');
console.log(a.x);
Kompiler med --module commonjs
Hvis du kjørte på nettet, kunne du bruke --outFile for å sette sammen til en enkelt fil, men det er vanligvis ikke et godt alternativ under node.
