Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Loader

JavaScript-Loader

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 11:44:03650Durchsuche

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.

JavaScript Loader

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn