Uncaught ReferenceError: Exporte sind nicht in dem von Typescript generierten Feld definiert

8

Ich versuche mit Typescript für die Elektronenentwicklung anzufangen. Nachdem ich mit dem Schreiben von Node und Jquery fertig war, bekam ich endlich meine .ts-Datei fehlerfrei.

Das Problem ist jetzt, dass wenn ich meine App starte, bekomme ich diesen Fehler:

%Vor%

Dies sind die ersten beiden Zeilen in index.js:

%Vor%

Ich weiß nicht, dass diese Zeile das tut. Typescript hat es beim Kompilieren hinzugefügt. Meine App funktioniert einwandfrei, wenn ich sie entferne.

Wie kann ich diesen Fehler beheben?

Oh, und hier ist meine tsconfig, wenn das relevant ist.

%Vor%     
Blargmode 27.02.2017, 23:11
quelle

5 Antworten

7

Es gibt ein Problem mit der neuen Version von typescript 2.2.1, versuchen Sie es mit der älteren Version 2.1.6, die genau das gleiche Problem gelöst hat, das Sie für mich haben.

Version 2.2.1 beim Kompilieren fügt diese Zeile Object.defineProperty(exports, "__esModule", { value: true }); hinzu, während die ältere Version 2.1.6 nicht dazukommt.

    
Patronaut 28.02.2017, 13:36
quelle
26

Ich habe es mit einem Hack in der HTML-Einbettung gelöst:

%Vor%

Im Grunde geben Sie ihm, was es will, eine globale Variable exportiert .

Damit wird meine TypeScript (2.3.2) generierte Datei (es6) geladen.

    
Markus Hahn 30.04.2017 02:08
quelle
0

Ich hatte das gleiche Problem mit einer js-Datei, die vom Typescript-Compiler erzeugt wurde. Gleiche Zeile:

%Vor%

Und derselbe Fehler:

%Vor%

Ich habe in dieser Datei eine Game-Klasse definiert. Ich habe das Problem gelöst, indem ich das am Ende meiner Datei game.ts hinzugefügt habe:

%Vor%

Damit ersetzt der Typescript-Compiler:

%Vor%

mit:

%Vor%

Kein Fehler mehr für mich danach.

    
mab 18.10.2017 15:38
quelle
0

Ich hatte das gleiche Problem, ich habe die Datei systemjs.config.js wie unten erwähnt

geändert

'npm:': '/ node_modules /' - // Sein Wert war nur 'node_modules /' und ich habe '/' am Anfang hinzugefügt

'app': '/ src / app' - // Sein Wert war nur 'app' und da mein App-Ordnerpfad anders war, wurde er entsprechend geändert

loader: '/src/systemjs-angular-loader.js' - // Sein Wert war nur 'systemjs-angular-loader.js' und der Speicherort war anders in meinem Projekt wies es also auf den richtigen Pfad

    
Prasanna Miskin 18.11.2017 15:45
quelle
-1

QuickFix

Ändern Sie "target": "es6" in "target": "es5" in Ihrer tsconfig.json.

    
basarat 28.02.2017 06:11
quelle

Tags und Links