Inhaltsverzeichnis
Bestimmen Sie, ob die Anfrage des Benutzers /about.html About-Seite lautet. " > Bestimmen Sie, ob die Anfrage des Benutzers / oder /index.html Startseite ist Bestimmen Sie, ob die Anfrage des Benutzers /about.html About-Seite lautet.
4、共享成员时的注意点" >4、共享成员时的注意点
5、exports 和 module.exports" >5、exports 和 module.exports
Heim Web-Frontend js-Tutorial Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

Nov 10, 2022 pm 08:46 PM
nodejs node

In diesem Artikel geht es um die Grundlagen von node, das Verständnis und die Fälle der Exportfreigabe von http-Modulen und module.exports. Ich hoffe, dass er für alle hilfreich ist!

Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

1. http-Modul

Das http-Modul ist ein offiziell von Node.js bereitgestelltes Modul zum Erstellen von Webservern. [Verwandte Tutorial-Empfehlungen: nodejs-Video-Tutorial]

Mit der vom http-Modul bereitgestellten Methode http.createServer() können Sie einen normalen Computer problemlos in einen Webserver verwandeln, um externe Webressourcendienste bereitzustellen.

1. Erstellen Sie einen Webserver. Überwachen Sie den 8080-Dienst Beispiel: Greifen Sie in der Ereignisverarbeitungsfunktion auf Daten oder Attribute zu, die sich auf den Client beziehen.

  • Auf dem Server müssen Sie eine Antwort verwenden. Beispiel: Antwort anfordern Chinesischer Inhalt wird dem Client angezeigt, es werden verstümmelte Zeichen angezeigt und müssen manuell eingestellt werden. Stellen Sie das Codierungsformat des Inhalts ein.
  • entsprechend verschiedenen URLs
Beispiel: Die Schritte sind wie folgt

Erhalten Sie die angeforderte URL-Adresse

Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs Setzen Sie den Standardantwortinhalt auf 404 Nicht gefunden

Bestimmen Sie, ob die Anfrage des Benutzers / oder /index.html Startseite ist Bestimmen Sie, ob die Anfrage des Benutzers /about.html About-Seite lautet.

Legen Sie den Content-Type-Antwortheader fest, um verstümmelte chinesische Zeichen zu vermeiden.

Verwenden Sie res.end(), um auf den Client zu antworten

Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

2. Modulklassifizierung in Node.js usw.

Benutzerdefinierte Module: Jede vom Benutzer erstellte .js-Datei ist ein benutzerdefiniertes Modul.

Modul von Drittanbietern: Von Drittanbietern entwickelte Module müssen vor der Verwendung heruntergeladen werden. Der Umfang des Moduls verhindert das Problem der globalen variablen VerschmutzungBeispiel:

Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejsindex.js-Datei

// 导入 http 模块
const http = require('http')
// 创建 web 服务器实例
const server = http.createServer()
// 为服务器实例绑定 request 事件 监听客户端的请求
server.on('request', function (req, res) {
    console.log('请求中...')
})
// 启动服务
server.listen(8080, function () {
    console.log('http://127.0.0.1:8080')
})
Nach dem Login kopieren
Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

test .js-Datei

// 导入 http 模块
const http = require('http')
// 创建 web 服务器实例
const server = http.createServer()
// req 是请求对象 包含了与客户端相关的数据和属性
server.on('request', (req) => {
    // req.url 客户端请求的 url 地址
    const url = req.url
    // req.method 是客户端请求的 method 类型
    const method = req.method
    const str = `Your request url is ${url} and request method is ${method}`
    console.log(str)
})
// 启动服务
server.listen(8080, function () {
    console.log('http://127.0.0.1:8080')
})
Nach dem Login kopieren

3. module.exports-Objekt

In einem benutzerdefinierten Modul können Sie verwenden die module.exports-Objekt zum

Teilen von Mitgliedern innerhalb des Moduls zur externen Verwendung. Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

Wenn die externe Methode require() ein benutzerdefiniertes Modul importiert, erhalten Sie das Objekt, auf das module.exports zeigt. Beispiel:

Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

index.js-Datei

// 导入 http 模块
const http = require('http')
// 创建 web 服务器实例
const server = http.createServer()
// req 是请求对象 包含了与客户端相关的数据和属性
server.on('request', (req, res) => {
    // req.url 客户端请求的 url 地址
    const url = req.url
    // req.method 是客户端请求的 method 类型
    const method = req.method
    const str = `Your request url is ${url} and request method is ${method}`
    console.log(str)
    // 调用 res.end() 方法 向客户端响应一些内容
    res.end(str)
})
// 启动服务
server.listen(8080, function () {
    console.log('http://127.0.0.1:8080')
})
Nach dem Login kopieren

test.js-Datei

// 导入 http 模块
const http = require('http')
// 创建 web 服务器实例
const server = http.createServer()
// req 是请求对象 包含了与客户端相关的数据和属性
server.on('request', (req, res) => {
    // req.url 客户端请求的 url 地址
    const url = req.url
    // req.method 是客户端请求的 method 类型
    const method = req.method
    const str = `请求地址是 ${url} 请求方法是 ${method}`
    console.log(str)
    // 设置 Content-Type 响应头 解决中文乱码问题
    res.setHeader('Content-Type', 'text/html; charset=utf-8')
    // 调用 res.end() 方法 向客户端响应一些内容
    res.end(str)
})
// 启动服务
server.listen(8080, function () {
    console.log('http://127.0.0.1:8080')
})
Nach dem Login kopieren

    4、共享成员时的注意点

    使用 require() 方法导入模块时,导入的结果,永远以 module.exports 指向的对象为准

    示例:

    index.js 文件

    module.exports.username = '李四'
    
    module.exports.sayHello = function () {
        console.log('Hello!')
    }
    
    // 让 module.exports 指向一个新对象
    module.exports = {
        nickname: '张三',
        sayHi() {
            console.log('Hi!')
        }
    }
    Nach dem Login kopieren

    test.js 文件

    const m = require('./index')
    
    console.log(m)
    Nach dem Login kopieren

    Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

    5、exports 和 module.exports

    默认情况下,exports 和 module.exports 指向同一个对象

    最终共享的结果,还是以 module.exports 指向的对象为准。

    示例:

    index1.js 文件

    exports.username = '杂货铺'
    
    module.exports = {
        name: '前端杂货铺',
        age: 21
    }
    Nach dem Login kopieren

    Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

    index2.js 文件

    module.exports.username = 'zs'
    
    exports = {
        gender: '男',
        age: 22
    }
    Nach dem Login kopieren

    Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

    index3.js 文件

    exports.username = '杂货铺'
    
    module.exports.age = 21
    Nach dem Login kopieren

    Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

    index4.js 文件

    exports = {
        gender: '男',
        age: 21
    }
    
    module.exports = exports
    
    module.exports.username = 'zs'
    Nach dem Login kopieren

    Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs

    对 index2.js 文件结果的解析如下:

    Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs
    对 index4.js 文件结果的解析如下:
    Eine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs
    注意:为防止混乱,尽量不要在同一个模块中同时使用 exports 和 module.exports

    更多node相关知识,请访问:nodejs 教程

    Das obige ist der detaillierte Inhalt vonEine kurze Analyse des http-Moduls und der Exportfreigabe in Nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ist NodeJS ein Backend-Framework? Ist NodeJS ein Backend-Framework? Apr 21, 2024 am 05:09 AM

Node.js kann als Backend-Framework verwendet werden, da es Funktionen wie hohe Leistung, Skalierbarkeit, plattformübergreifende Unterstützung, ein umfangreiches Ökosystem und einfache Entwicklung bietet.

So verbinden Sie NodeJS mit der MySQL-Datenbank So verbinden Sie NodeJS mit der MySQL-Datenbank Apr 21, 2024 am 06:13 AM

Um eine Verbindung zu einer MySQL-Datenbank herzustellen, müssen Sie die folgenden Schritte ausführen: Installieren Sie den MySQL2-Treiber. Verwenden Sie mysql2.createConnection(), um ein Verbindungsobjekt zu erstellen, das die Hostadresse, den Port, den Benutzernamen, das Passwort und den Datenbanknamen enthält. Verwenden Sie „connection.query()“, um Abfragen durchzuführen. Verwenden Sie abschließend Connection.end(), um die Verbindung zu beenden.

Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Apr 21, 2024 am 05:18 AM

Es gibt zwei npm-bezogene Dateien im Node.js-Installationsverzeichnis: npm und npm.cmd. Die Unterschiede sind wie folgt: unterschiedliche Erweiterungen: npm ist eine ausführbare Datei und npm.cmd ist eine Befehlsfensterverknüpfung. Windows-Benutzer: npm.cmd kann über die Eingabeaufforderung verwendet werden, npm kann nur über die Befehlszeile ausgeführt werden. Kompatibilität: npm.cmd ist spezifisch für Windows-Systeme, npm ist plattformübergreifend verfügbar. Nutzungsempfehlungen: Windows-Benutzer verwenden npm.cmd, andere Betriebssysteme verwenden npm.

Was sind die globalen Variablen in NodeJS? Was sind die globalen Variablen in NodeJS? Apr 21, 2024 am 04:54 AM

Die folgenden globalen Variablen sind in Node.js vorhanden: Globales Objekt: global Kernmodul: Prozess, Konsole, erforderlich Laufzeitumgebungsvariablen: __dirname, __filename, __line, __column Konstanten: undefiniert, null, NaN, Infinity, -Infinity

Gibt es einen großen Unterschied zwischen NodeJS und Java? Gibt es einen großen Unterschied zwischen NodeJS und Java? Apr 21, 2024 am 06:12 AM

Die Hauptunterschiede zwischen Node.js und Java sind Design und Funktionen: Ereignisgesteuert vs. Thread-gesteuert: Node.js ist ereignisgesteuert und Java ist Thread-gesteuert. Single-Threaded vs. Multi-Threaded: Node.js verwendet eine Single-Threaded-Ereignisschleife und Java verwendet eine Multithread-Architektur. Laufzeitumgebung: Node.js läuft auf der V8-JavaScript-Engine, während Java auf der JVM läuft. Syntax: Node.js verwendet JavaScript-Syntax, während Java Java-Syntax verwendet. Zweck: Node.js eignet sich für I/O-intensive Aufgaben, während Java für große Unternehmensanwendungen geeignet ist.

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

Ist NodeJS eine Back-End-Entwicklungssprache? Ist NodeJS eine Back-End-Entwicklungssprache? Apr 21, 2024 am 05:09 AM

Ja, Node.js ist eine Backend-Entwicklungssprache. Es wird für die Back-End-Entwicklung verwendet, einschließlich der Handhabung serverseitiger Geschäftslogik, der Verwaltung von Datenbankverbindungen und der Bereitstellung von APIs.

So stellen Sie das NodeJS-Projekt auf dem Server bereit So stellen Sie das NodeJS-Projekt auf dem Server bereit Apr 21, 2024 am 04:40 AM

Serverbereitstellungsschritte für ein Node.js-Projekt: Bereiten Sie die Bereitstellungsumgebung vor: Erhalten Sie Serverzugriff, installieren Sie Node.js, richten Sie ein Git-Repository ein. Erstellen Sie die Anwendung: Verwenden Sie npm run build, um bereitstellbaren Code und Abhängigkeiten zu generieren. Code auf den Server hochladen: über Git oder File Transfer Protocol. Abhängigkeiten installieren: Stellen Sie eine SSH-Verbindung zum Server her und installieren Sie Anwendungsabhängigkeiten mit npm install. Starten Sie die Anwendung: Verwenden Sie einen Befehl wie node index.js, um die Anwendung zu starten, oder verwenden Sie einen Prozessmanager wie pm2. Konfigurieren Sie einen Reverse-Proxy (optional): Verwenden Sie einen Reverse-Proxy wie Nginx oder Apache, um den Datenverkehr an Ihre Anwendung weiterzuleiten

See all articles