Heim > Artikel > Web-Frontend > JavaScript-Loader
Loader sind Transformationen, die auf den Quellcode eines Moduls oder eines Skripts angewendet werden. Sie ermöglichen es Ihnen, Dateien oder HTML mit Javascript vorzuverarbeiten, während Sie sie importieren oder „laden“. Somit sind Loader so etwas wie „Aufgaben“ in anderen Build-Tools und bieten eine leistungsstarke Möglichkeit, Front-End-Build-Schritte zu verarbeiten.
Die Idee besteht darin, ein JS-Programm herunterzuladen und es nativ lokal in einem Laufzeitbrowser (webview2) mit einigen Änderungen darin auszuführen, basierend auf einem zuvor bereitgestellten Skript. Ich nenne das eine Mehrfachbereitstellung als Fixpunkt:
const SINWAVES2URL= 'https://raw.githack.com/maxkleiner/maXbox4/master/assets/sinwavesjs.html'; aMS:= TMemoryStream.Create; try HttpGet(SINWAVES2URL, amS) writeln('urlcontent size: '+itoa((ams.size))); aMS.Seek(0, 0); memoHTML.lines.loadfromstream(aMs); //javascript fixture_ memoHTML.text:= StringReplace(memoHtml.text,'frequency = 20;','frequency = 30;',[rfReplaceAll]); memoHTML.text:= StringReplace(memoHtml.text,'Sine Wave</h3>','Sine Wave F30</h3>',[rfReplaceAll]); navigatetoString(memoHTML.text); finally aMS.Free end;
Zum Beispiel können Sie Loader verwenden, um eine Website anzuweisen, eine CSS-Datei mit Javascript zu laden und Parameter in JavaScript zu ändern, bevor Sie sie in einem lokalen Browser webview2 ausführen.
Lader können verkettet werden. Jeder Loader in der Kette wendet Transformationen auf die verarbeitete Ressource an, lädt beispielsweise die URL als Stream in einem Memo mit Zeilen, ändert zwei Parameter (Häufigkeit und Titel in unserem Beispiel) und führt ihn mit navigationtoString(memoHTML.text) aus; in einem Browser:
with TEdgeViewForm.create(self) do begin PageControl1.ActivePageIndex := 1; edit1.text:= SINWAVES2URL; aMS:= TMemoryStream.Create; try HttpGet(SINWAVES2URL, amS) writeln('urlcontent size: '+itoa((ams.size))); aMS.Seek(0, 0); memoHTML.lines.loadfromstream(aMs); //javascript fixture_ memoHTML.text:= StringReplace(memoHtml.text,'frequency = 20;','frequency = 30;',[rfReplaceAll]); memoHTML.text:= StringReplace(memoHtml.text,'Sine Wave</h3>','Sine Wave F30</h3>',[rfReplaceAll]); navigatetoString(memoHTML.text); finally aMS.Free end; showmodal free; end;
Das obige ist der detaillierte Inhalt vonJavaScript-Loader. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!