Lernen Sie Node.js von Grund auf

Lernen Sie Node.js von Grund auf

URL-Modul

1.Parse-Methode

//test02.js
importiere http von 'http'
URL von „URL“ importieren
const parseUrl = url.parse('https://www.baidu.com/news?name=朱葛亮&age=18#helloworld')
console.log(parseUrl)
http.createServer((req, res) => {
    res.writeHead(200, {'Inhaltstyp': 'text/html; Zeichensatz=utf-8'})
    res.write('Hallo, hallo Welt!')
    res.ende()
}).listen(3000)
console.log('Mein Server läuft unter http://localhost:3000')

Analysieren Sie die URL-Adresse und erhalten Sie ein analysiertes URL-Detailobjekt, einschließlich Protokoll, Domänenname, Pfad, Port, Abfrageparameter, Hash und andere Informationen.

Der zweite Parameter ist ein Boolescher Wert, der standardmäßig auf „false“ gesetzt ist. Wenn „true“ übergeben wird, wird die Abfrage in ein Objekt umgewandelt.

const parseUrl = url.parse('https://www.baidu.com/news?name=朱葛亮&age=18#helloworld', true)
console.log(parseUrl)

2. Formatierungsmethode

Übergeben Sie ein URL-Informationsobjekt (das von der Parse-Methode zurückgegebene Objekt) und geben Sie einen bestimmten Pfad zurück. Diese Methode ist die umgekehrte Anwendung der Parse-Methode.

const formatUrl = url.format({
    Protokoll: 'https:',
    Schrägstriche: wahr,
    auth: null,
    Host: „www.baidu.com“,
    Port: null,
    Hostname: „www.baidu.com“,
    Hash: '#hallowelt',
    Suche: '?name=Zhuge Liang&age=18',
    Abfrage: 'Name=Zhuge Liang&Alter=18',
    Pfadname: '/news',
    Pfad: '/news?name=Zhuge Liang&age=18',
    href: „https://www.baidu.com/news?name=朱葛亮&age=18#hallowelt“
})
console.log(formatUrl) // Ausgabe https://www.baidu.com/news?name=朱葛亮&age=18#helloworld

3. Lösungsmethode

Verbinden oder Ersetzen von Nebenpfaden

const result1 = url.resolve('https://www.baidu.com', 'news')
const result2 = url.resolve('https://www.baidu.com/home', '')
const result3 = url.resolve('https://www.baidu.com/home', 'über')
const result4 = url.resolve('https://www.baidu.com/home/index', 'über')
const result5 = url.resolve('https://www.baidu.com/home/index?name=朱葛亮', 'über/hallo')
console.log(Ergebnis1)
console.log(Ergebnis2)
console.log(Ergebnis3)
console.log(Ergebnis4)
console.log(Ergebnis5)

Ausgabe:

Modul „Events“ (ereignisgesteuert)

1. Einführung des Event-Moduls

2. Erstellen Sie eine eventEmitter-Instanz

3. Verwenden Sie die On-Methode und die Emit-Methode in eventEmitter, um ereignisgesteuert zu implementieren, ähnlich wie $on und $emit in vue, dh im Publish-Subscribe-Modus

Asynchrone Anforderungen können wie folgt gelöst werden:

fs von 'fs' importieren
Ereignis aus „Ereignissen“ importieren

const eventEmitter = neues Ereignis.EventEmitter()

eventEmitter.on('Ereignisse', Daten => {
    console.log('Empfangene Daten', data.toString())
})

fs.readFile('static/index.html', (err, data) => {
    eventEmitter.emit('Ereignisse', Daten)
})

Das Pfadmodul

Pfad von „Pfad“ importieren
// Den Suffixnamen abrufen const extName = path.extname('index.html') // .html

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Das könnte Sie auch interessieren:
  • Tutorial „Node.js von Grund auf lernen“: Beispiel für das Festlegen einer HTTP-Header-Methode
  • Lernen Sie Node.js von Grund auf. Eine Reihe von Tutorials. SQLite3- und MongoDB-Nutzungsanalyse.
  • Node.js von Grund auf lernen - Tutorial 6: Beispiel, wie EventEmitter Ereignisse sendet und empfängt
  • Node.js von Grund auf lernen, Serie 5: Beispiel für eine Serverüberwachungsmethode
  • Node.js von Grund auf lernen, Serie 4: Clientseitige und serverseitige Beispiele für die Implementierung mathematischer Operationen auf mehreren Seiten
  • Tutorial zur Node.js-Lernserie von Grund auf: Beispiel für eine mehrseitige mathematische Operation basierend auf dem Connect- und Express-Framework
  • Node.js von Grund auf lernen, Serie 4: Beispiele für mathematische Operationen, die auf mehreren Seiten implementiert sind

<<:  So installieren Sie die neueste Version von Docker mit dem Befehl „Deepin apt“

>>:  Implementierungsprozess von row_number in MySQL

Artikel empfehlen

Detaillierte Erklärung der XML-Syntax

1. Dokumentationsregeln 1. Groß-/Kleinschreibung b...

Das ganz links stehende Übereinstimmungsprinzip des MySQL-Datenbankindex

Inhaltsverzeichnis 1. Gemeinsame Indexbeschreibun...

Lösung für das MySQL IFNULL-Beurteilungsproblem

Problem: Die von mybatis zurückgegebenen Daten vo...

So installieren und implementieren Sie MySQL 8.0 unter CentOS8

Die offizielle Version 8.0.11 von MySQL 8 wurde v...

JS realisiert einfachen Bildkarusselleffekt

In diesem Artikel wird der spezifische JS-Code zu...

MySQL-Initialisierungskennwortvorgang unter Mac

Eine einfache Aufzeichnung der Datenbank-Startpro...

Erfahren Sie mehr über die am häufigsten verwendeten JavaScript-Ereignisse

Inhaltsverzeichnis JavaScript-Ereignisse: Häufig ...

Tutorial zum Upgrade von Centos7 auf Centos8 (mit Bildern und Text)

Wenn Sie ein Upgrade in einer formalen Umgebung d...

Einige häufige Fehler mit MySQL null

Laut Nullwerten bedeutet der Wert Null in MySQL l...