So importieren Sie eine HTML-Vorlage aus einem relativen Pfad:
%Vor%Der TypeScript-Compiler beschwert sich, dass er das Modul nicht finden kann. Ich habe versucht, eine Ambient-Moduldefinition zu erstellen, aber relative Pfade in Modulnamen sind nicht zulässig. Ich verwende SystemJS als Modullader.
Es ist unmöglich.
Aufgrund der Definition dessen, was Modul in Typoskript ist, und soweit ich weiß in ES6 javascript ( importieren ). Modul kann nicht html sein. Der übliche Ansatz besteht darin, ein JavaScript-Modul zu importieren, das eine Zeichenfolge mit HTML, CSS, was auch immer exportiert. Aber das importiert die Datei nicht mit Roh-HTML.
Vielleicht möchten Sie sich auch HTML-Importe ansehen, aber das ist es ganz andere Sache.
Ich verwende kein Typoskript, aber ich verwende ES6. Könnte für Sie nützlich sein.
Die Art, wie ich das löse, besteht darin, Template-Strings mit Anführungszeichen zu deklarieren. Es funktioniert gut für mich, ich wäre glücklich zu wissen, ob jemand denkt, dass dies ein schlechter Habit ist.
unter einem Schnipsel mit Angular (-ui-Router).
index.js
%Vor%config.js
%Vor%Der Vollständigkeit halber wird davon ausgegangen, dass indexController an anderer Stelle definiert ist. Diese Konfigurationsfunktion wird auch an einen Ort exportiert, an dem App definiert ist. Aber das alles ist nicht mit der Frage verbunden.
Sie können es mit der require-Syntax
importieren1) Erstellen Sie die Datei app.d.ts und fordern Sie eine Definition an, damit das Typoskript weiß, dass es sich um eine Funktion handelt. (Sie müssen keine zusätzliche Bibliothek hinzufügen, System-Unterstützung erfordert Syntax)
%Vor%2) Jetzt können Sie Ihren HTML-Code mit importieren var template = require ('./ custom-select.html! Text')
Ich habe es sogar noch besser gefunden, weil Sie require inline
verwenden können %Vor%Ich weiß nichts über SystemJS, aber das ist definitiv mit Webpack und dem html-loader
möglich >Tags und Links typescript ecmascript-6 import