Stellen Sie sich vor ich diese einfache Typoskript Klasse, Animal.ts
:Wie eine kompilierte Typoskript Klasse in Javascript verwenden
export default class Animal {
constructor(public name : string) { }
}
Mit dieser tsconfig.json
Datei:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true
},
"files": [
"Animal"
]
}
Wie kann ich die kompilierte Version dieses verwenden Klasse (kompiliert von running tsc
) in einer Javascript-Datei wie folgt:
var Animal = require("./Animal");
var newAnimal = new Animal();
Sollte ich etwas in meiner tsconfig.json
Datei bearbeiten? Der Fehler, den ich bekommen ist:
ReferenceError: Animal is not defined
Sie können Javascript-Dateien auch mit dem Script 'allowJs' kompilieren (in tsconfig.json). Auf diese Weise können Sie von Ihrem Javascript aus auf Typoskript-Klassen verweisen. – Brian
Da Sie den Standard-Export verwenden, glaube ich, dass Sie ihn wie 'var Animal = require (" ./ Animal ") benötigen. Default' <- beachten Sie die' .default' am Ende. – CRice
Das Exportieren mit 'export default' macht Ihren Export zu einem Modul. Es würde 'new Animal.default ('name') 'werden. Da der Fehler nicht reproduzierbar ist, wird das Animal als '{__esModule: true, default: [Funktion: Animal]}' exportiert. –