Nodejs-Plugin und Nutzungsübersicht

Nodejs-Plugin und Nutzungsübersicht

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Node.js-Version 12.19.0, DELL G3-Computer.

Nodejs-Plugin

1. Node-xlsx liest und schreibt Excel

Das Importieren und Exportieren von Excel-Dateien ist in vielen Systemen ein häufiges Problem, und NodeJS ist keine Ausnahme. Jetzt werden wir NodeJS zum Lesen und Schreiben von Excel-Dateien verwenden.

In NodeJS verwenden wir zum Lesen und Schreiben von Dateien ein Drittanbietertool namens node-xlsx. Dieses Modul unterstützt sowohl das Excel-Format 2003 (.xls) als auch das Excel-Format 2007 (.xlsx).

Schauen wir uns nun die spezifische Funktionsweise dieses Moduls an

Lesevorgänge in Excel

Zuerst müssen wir dieses Modul installieren

cnpm installiere node-xlsx --save

Der zweite Schritt besteht darin, das Modul zu importieren und die Excel-Datei zu lesen

const xlsx=erfordern('node-xlsx');const DBUtil=erfordern('./utils/DBUtil.js');const fs=erfordern('fs');const path=erfordern('Pfad');Funktion readExcel(Pfad){
  var excel=xlsx.parse(Pfad);
  return excel;}var obj=readExcel(path.join(__dirname,"./files/studentinfo.xls"));console.log(obj[0].data);

Der obige Code hat den Lesevorgang der Excel-Datei abgeschlossen. Zu diesem Zeitpunkt lesen wir ein Objekt aus und können die darin enthaltenen Informationen in der Konsole sehen

Schreiben in Excel

Nun zeigen wir, wie man die Informationen einer Tabelle in der Datenbank liest und auf dem lokalen Computer speichert. Der Code lautet wie folgt

const excel=erfordern('node-xlsx');const fs=erfordern('fs');const path=erfordern('Pfad');const DBUtil=erfordern('./utils/DBUtil.js');Funktion writeExcel(){
  var conn=DBUtil.getConn();
  conn.query("Wählen Sie * aus Studenteninfo",[],(Fehler,Ergebnis)=>{
    wenn(fehler){
 
    }
    anders{
      var excelArr = [];
      var headerRow=[];
      für(var i in result[0]){
        headerRow.push(i);
      }
      excelArr.push(headerRow);
      für(var i=0;i<Ergebnis.Länge;i++){
        vartemp=[];
        für(var j=0;j<headerRow.length;j++){
          temp.push(Ergebnis[i][Headerzeile[j]]);
        }
        excelArr.push(temp);
      }
      versuchen {
        var buff=excel.build([{name:'Studenteninformationen',data:excelArr}]);
        fs.writeFileSync(Pfad.join(__dirname,"./files/01.xlsx"),buff);
        console.log("ok");
      } Fehler abfangen {
        console.log(fehler);
      }
    }
  });
  conn.end();}writeExcel();

Hier stellen wir fest, dass das Schreiben in Excel etwas mühsam ist, da wir hier die in der Datenbank erhaltenen Ergebnisse neu kombinieren und dann Excel generieren müssen

Überlegen Sie einmal: Dürfen Benutzer im Express-Framework die generierte Excel-Datei wie folgt herunterladen und lokal speichern?

2. Nodemailer versendet E-Mails

Nodejs bietet viele Anwendungsszenarien zum Senden von E-Mails an Benutzer. Beispielsweise sehen wir häufig, dass nach der Registrierung eines Benutzers eine Registrierungsnachricht an das registrierte Postfach des Benutzers gesendet wird. Wenn wir diese Funktion derzeit ausführen möchten, müssen wir ein Drittanbietermodul von Nodemailer verwenden. Die spezifischen Verwendungsschritte sind wie folgt:

Installieren Sie das entsprechende Modul

$ cnpm installiere nodemailer --asve
$ Garn fügt Nodemailer hinzu

Importieren Sie das Modul und vervollständigen Sie den Code

const nodemailer = erfordern('nodemailer'); var transport = nodemailer.createTransport({
  Dienst: "qq",
  Autorisierung:
    Benutzer: „[email protected]“,
    Pass: „peshapwpokgvcahe“
  }});var Optionen={
  von:"[email protected]",
  an: „[email protected]“,
  Betreff: „Dies ist eine von Nodemailer gesendete E-Mail-Nachricht“,
  Text: „Dies ist eine E-Mail-Nachricht, die von Nodemailer gesendet wurde“ + (new Date()).toLocaleString(),
  html:"<h2>Dies ist eine Test-E-Mail von <u>nodemail</u>...</h2>"}; transport.sendMail(options,(err,info)=>{
  wenn(fehler){
    console.log(fehler);
  }
  anders{
    konsole.log(info);
  }});

Meldung nach erfolgreichem Versand

{ akzeptiert: [ '[email protected]' ],
  abgelehnt: [],
  Umschlagzeit: 221,
  NachrichtZeit: 830,
  Nachrichtengröße: 801,
  Antwort: '250 Ok: in die Warteschlange gestellt als ',
  Umschlag: { Von: '[email protected]', An: [ '[email protected]' ] },
  Nachrichten-ID: '<[email protected]>' }

Solange das Programm zu diesem Zeitpunkt unsere Sendeanforderung an dieser Stelle abschließen kann, gibt es die oben genannten Informationen zurück. Wenn die oben genannten Informationen nicht angezeigt werden, müssen wir den hier zurückgegebenen Fehler überprüfen.

Hinweis: Beim Konfigurieren des Sendeservers können wir einen Drittanbieterserver oder einen integrierten Server verwenden.

Denken: Wenn der gesendete Inhalt durch eine Vorlage ersetzt wird

const fs = erfordern('fs'); const path = erfordern('Pfad'); Klasse MailTemplateModel {
  Konstruktor(Benutzername,u_id,registerTime,mail){
    this.userName=Benutzername;
    dies.u_id=u_id;
    this.registerTime=Registerzeit;
    diese.mail=mail;
  }
  zuString(){
    var str = `Sehr geehrter ${this.userName}, hallo!
    Willkommen, registrieren Sie sich als unser Mitglied. Ihr Konto ist ${this.u_id} und Ihre Registrierungszeit ist: ${this.registerTime}.
    Bitte bewahren Sie Ihr Konto und Passwort sicher auf. Wenn Sie Fragen haben, senden Sie bitte eine E-Mail an ${this.mail}!
    Danke! Ich wünsche Ihnen ein glückliches Leben! `;
    gibt str zurück;
  }}module.exports=MailTemplateModel;

Der obige Code kapselt den Inhalt der zu sendenden E-Mail in ein Objekt und verwendet dann eine Vorlagensyntax zum Verketten von Zeichenfolgen.

Denken Sie darüber nach: Wir schreiben den Inhalt der gesendeten E-Mail in eine separate externe TXT-Datei und implementieren ihn dann durch Ersetzen des String-Objekts. Wie implementiert man diese Funktion?

3. untergeordneter Prozess

Kann einen Unterprozess erstellen und Shell-Skripte ausführen.

4. Knoten-Lesbarkeit

Ein Plugin, das Website-Inhalte in einfache Inhalte umwandeln kann.

5. Verbinden

Tatsächlich verwendet auch Express dieses Plug-In, und Sie können mit Connect auch Webprogramme schreiben.

6. Express-Sitzung

Dies ist ein Sitzungs-Plugin. Die Standardeinstellung ist „für immer“, was sich von den 30 Minuten bei Tomcat unterscheidet. Sie müssen das Timeout also selbst festlegen.

7. Basic-Auth-Plugin

Wird für die einfachste Authentifizierungsmethode verwendet, die im Allgemeinen in API-Anfragen verwendet wird.

8. bcryptjs-Plugin (meldet immer einen Fehler während der bcrypt-Installation)

Wird verwendet, um die Hash-Verarbeitung mit Salt durchzuführen.

9. Reptiliensammlung:

(1) Crawlen statischer Seiten und API-Daten: request+cheerio/jsdom. Request ist eine Anforderungsbibliothek, die Beiträge anfordern und Informationen abrufen kann. Nach dem Abrufen der HTML-Daten können diese mithilfe einer Analysebibliothek eines Drittanbieters wie Cheerio analysiert werden. Für dynamisch gerenderte Seiten mit JS können Sie die Verwendung von jsdom in Betracht ziehen, aber leider ist dies synchron und schließlich kein Browser.

(2) Crawling dynamisch dargestellter Seiten

Puppeteer: verwendet den Chromium-Browser, asynchrone Anforderungen, hohe Effizienz und öffnet viele Browser-Betriebs-APIs, was sehr praktisch ist.

nightmare: Die API ist sehr einfach zu verwenden, wenn man den Browser in Electron verwendet. Obwohl ich sie nicht verwendet habe, finde ich, dass sie nicht so flexibel ist wie Puppeteer.

Aufgrund von jsdom:sync habe ich die Verwendung aufgegeben. Dasselbe wie Selen.

10. Moment.js

Dies ist eine leichtgewichtige Formatanalysebibliothek. Wenn Sie selbst eine Formatanalysefunktion schreiben, benötigen Sie mehrere Dutzend Zeilen Funktionscode. Das ist sehr praktisch.

Dies ist das Ende dieses Artikels über NodeJS-Plug-Ins und deren Verwendung. Weitere Informationen zu NodeJS-Plug-Ins finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Detaillierte Erklärung der Größe des Boxmodells, abhängig von seinen Polsterungs-, Rand- und Rahmenwerten

>>:  Verwenden Sie href in HTML, um beim Klicken auf einen Link ein Dialogfeld zum Herunterladen von Dateien anzuzeigen.

Artikel empfehlen

Anwendungsszenarien für React useMemo und useCallback

Inhaltsverzeichnis verwendenMemo useCallback verw...

Detaillierte Erläuterung des Beispiels für MySQL-Integritätsbeschränkungen

Dieser Artikel beschreibt die MySQL-Integritätsbe...

CSS verwendet die BEM-Namenskonvention

Welche Informationen möchten Sie erhalten, wenn S...

CSS3-Animation – Erläuterung der Funktion „Steps“

Als ich mir in letzter Zeit einige CSS3-Animation...

So führen Sie den sudo-Befehl aus, ohne in Linux ein Passwort einzugeben

Mit dem Befehl „sudo“ kann ein vertrauenswürdiger...

HTML-Tutorial: Sammlung häufig verwendeter HTML-Tags (5)

Diese eingeführten HTML-Tags entsprechen nicht un...

Detaillierte Erklärung der in Node.js integrierten Module

Inhaltsverzeichnis Überblick 1. Pfadmodul 2. Bis ...

Delegieren von Berechtigungen in Linux mit Sudo

Einführung in die Sudo-Autoritätsdelegierung su-S...

Beispielanalyse des Prinzips und der Lösung des MySQL-Gleitreihenfolgeproblems

Dieser Artikel erläutert anhand von Beispielen da...

So zeigen Sie Bilder im TIF-Format im Browser an

Der Browser zeigt Bilder im TIF-Format an Code kop...