2017-07-11 1 views
0

I Typoskript in ein Beispielprojekt bin der Umsetzung der Verwendung von webpack zu üben, ES6, npm ...Typoskript Fehler werfen auf Code arbeiten

Ich habe Lader 'awesome-Typoskript-loader', ‚babel-loader 'die funktionieren, wenn der Code gebündelt wird und ausgeführt wird.

Das Problem ist, dass, wenn ich so etwas wie dies zu testen -

document.getElementById('test-id').innerHTML = 'asdf'; 

ich einen Fehler in der Browser-Konsole erhalten.

Typescript browser console error

jedoch der Code ist zu arbeiten, und die ID-i Angabe AM ist mit, daß 'asdf' string injiziert.

Ich habe versucht, ‚ts-loader‘ alternative Lader, mit querySelector() statt getElementById() ... auch das Element einer Variablen zugewiesen, dann die .innerHTML zu setzen versucht, aber ohne Erfolg.

+5

Ist es möglich, dass der Code zweimal ausgeführt wird? Vorher ist das Element verfügbar? – casraf

+1

Nailed it ... das Problem war, dass ich html-webpack-plugin installiert hatte, um Skript-Injection mit dem HTML zu behandeln, aber die ursprüngliche hardcodierte Skriptverbindung nicht entfernt hatte – rld001

Antwort

0

Die Lösung für dieses Problem, wie carraf vermutete, war, dass das Skript zweimal ausgeführt wurde, einmal vor + einmal nachdem das DOM geladen wurde.

In diesem Fall habe ich html-webpack-plugin verwendet, um Skriptverknüpfungen zu verarbeiten, und hatte immer noch eine fest codierte Kopie in meiner index.html. Es wurde gelöst, indem die fest codierte Verbindung entfernt wurde.

Verwandte Themen