Heim >Web-Frontend >Front-End-Fragen und Antworten >Was sind die NodeJS-Plug-Ins?

Was sind die NodeJS-Plug-Ins?

青灯夜游
青灯夜游Original
2021-11-23 17:27:002199Durchsuche

Nodejs-Plugins umfassen: „node-xlsx“, nodemailer, „node-readbility“, connect, „express-session“, „basic-auth“, bcryptjs, puppeteer, nightmare usw.

Was sind die NodeJS-Plug-Ins?

Die Betriebsumgebung dieses Tutorials: Windows7-System, NodeJS-Version 12.19.0, DELL G3-Computer.

nodejs-Plugin

1. Node-xlsx liest und schreibt Excel

Excel-Import und -Export ist ein Problem, das in vielen Systemen auftritt, und NodeJS ist keine Ausnahme. Jetzt verwenden wir NodeJS Lesen und Schreiben von Excel-Dateien

Um das Lesen und Schreiben von Dateien zu realisieren, verwenden wir in NodeJS das Modul node-xlsx eines Drittanbieters. Dieses Modul unterstützt sowohl das Excel-Format 2003 (.xls) als auch das Excel-Format 2007. . Holen Sie sich die Excel-Datei

cnpm install node-xlsx --save

Der obige Code hat den Lesevorgang der Excel-Datei abgeschlossen. Zu diesem Zeitpunkt ist das, was wir lesen, ein Objekt, und die Informationen können in der Konsole angezeigt werden

Schreibvorgang in Excel

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

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

Hier finden wir, dass das Schreiben in Excel etwas mühsamer ist, denn hier ist Wir müssen die in der Datenbank erhaltenen Ergebnisse neu kombinieren und Excel generieren

Denken

: Was wäre, wenn im Express-Framework die generierte Excel-Datei wie folgt aussieht, damit Benutzer sie herunterladen und lokal speichern können?

2. Das Versenden von E-Mails per Nodemailer

nodejs wird beispielsweise häufig zum Versenden von E-Mails an Benutzer verwendet Wenn wir diese Funktion zu diesem Zeitpunkt ausführen möchten, müssen wir ein Drittanbietermodul von Nodemailer verwenden. Die spezifischen Schritte sind wie folgt: Installieren Sie das entsprechende Modul

const excel=require('node-xlsx');const fs=require('fs');const path=require('path');const DBUtil=require('./utils/DBUtil.js');function writeExcel(){
  var conn=DBUtil.getConn();
  conn.query("select * from studentinfo",[],(err,result)=>{
    if(err){

    }
    else{
      var excelArr=[];
      var headerRow=[];
      for(var i in result[0]){
        headerRow.push(i);
      }
      excelArr.push(headerRow);
      for(var i=0;i<result.length;i++){
        var temp=[];
        for(var j=0;j<headerRow.length;j++){
          temp.push(result[i][headerRow[j]]);
        }
        excelArr.push(temp);
      }
      try {
        var buff=excel.build([{name:&#39;学生信息&#39;,data:excelArr}]);
        fs.writeFileSync(path.join(__dirname,"./files/01.xlsx"),buff);
        console.log("ok");
      } catch (error) {
        console.log(err);
      }
    }
  });
  conn.end();}writeExcel();

Importieren Sie das Modul. Vervollständigen Sie den Code

$ cnpm install nodemailer --asve
$ yarn add nodemailer
Senden Sie Informationen nach Erfolg
const nodemailer=require(&#39;nodemailer&#39;);var transport = nodemailer.createTransport({
  service:"qq",
  auth:{
    user:"365055754@qq.com",
    pass:"peshapwpokgvcahe"
  }});var options={
  from:"365055754@qq.com",
  to:"lovesnsfi@live.com",
  subject:"这是一封来自nodemailer发送的邮件信息",
  text:"这是一封来自nodemailer发送的邮件信息"+(new Date()).toLocaleString(),
  html:"<h2>这是一封来自<u>nodemail</u>的测试邮件···</h2>"};transport.sendMail(options,(err,info)=>{
  if(err){
    console.log(err);
  }
  else{
    console.log(info);
  }});
Solange das Programm zu diesem Zeitpunkt unsere Sendeanforderung an dieser Stelle abschließen kann, werden die oben genannten Informationen zurückgegeben. Wenn wir die oben genannten Informationen nicht sehen, benötigen wir sie Um den Fehler zu überprüfen, geben Sie an dieser Stelle Informationen

Erläuterung

: Bei der Konfiguration des sendenden Servers können wir einen Server eines Drittanbieters oder einen integrierten Server verwenden

Denkweise

: Wenn der gesendete Inhalt durch eine Vorlage ersetzt wird

{ accepted: [ 'lovesnsfi@live.com' ],
  rejected: [],
  envelopeTime: 221,
  messageTime: 830,
  messageSize: 801,
  response: '250 Ok: queued as ',
  envelope: { from: '365055754@qq.com', to: [ 'lovesnsfi@live.com' ] },
  messageId: '<2fbef9f1-1041-fd59-1111-0b987e8d81da@qq.com>' }

Der obige Code kapselt den Inhalt der zu sendenden E-Mail in ein Objekt und verwendet dann die Vorlagensyntax, um Zeichenfolgen zu verbinden.

Denken: Für den oben genannten E-Mail-Inhalt schreiben wir ihn in eine separate externe TXT-Datei und dann verwenden String Wie implementiert man diese Funktion durch Ersetzen des Objekts?

3. child_process

kann untergeordnete Prozesse erstellen und Shell-Skripte ausführen.

4. KnotenlesbarkeitEin Plug-in, das Website-Inhalte in einfache Inhalte umwandeln kann.

5. connect Tatsächlich verwendet Express auch dieses Plug-in, und Sie können mit connect auch Webprogramme schreiben.

6. Express-SitzungDies ist ein Plug-in, das Sitzungen verwendet. Der Standardwert ist ewig, was sich von 30 Minuten bei Tomcat unterscheidet, daher müssen Sie das Timeout selbst festlegen.

7. Das Basic-Auth-Plugin wird für die einfachste Authentifizierungsmethode verwendet und wird im Allgemeinen für API-Anfragen verwendet.

8. bcryptjs-Plug-in (während des bcrypt-Installationsprozesses wird immer ein Fehler gemeldet) wird verwendet, um die Hash-Verarbeitung mithilfe von Salting durchzuführen.

9. Sammlung von Reptilien: (1) Crawlen von statischen Seiten und API-Daten: request+cheerio/jsdom, das nach Erhalt von HTML-Daten Informationen anfordern kann Eine Parsing-Bibliothek eines Drittanbieters zum Parsen, wie z. B. cheerio, können Sie über die Verwendung von jsdom nachdenken, aber leider ist dies synchron und schließlich kein Browser.

(2) Crawlen dynamisch gerenderter Seiten

Puppenspieler: Mit dem Chromiun-Browser sind asynchrone Anforderungen sehr effizient und es werden viele APIs zum Betreiben des Browsers geöffnet, was sehr praktisch ist.

Albtraum

: Die API ist sehr bequem zu verwenden. Obwohl ich sie noch nie verwendet habe, habe ich das Gefühl, dass sie nicht so flexibel ist wie Puppeteer.

jsdom

: Die Synchronisierung hat mich dazu gebracht, die Nutzung aufzugeben. Dasselbe wie Selen.

10、moment.js

Dies ist eine leichtgewichtige Format-Parsing-Bibliothek. Wenn Sie die Format-Parsing-Funktion selbst schreiben, benötigen Sie mehrere Dutzend Zeilen Funktionscode.

Weitere Informationen zu Knoten finden Sie unter: nodejs-Tutorial! !

Das obige ist der detaillierte Inhalt vonWas sind die NodeJS-Plug-Ins?. 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