Heim > Web-Frontend > js-Tutorial > Hauptteil

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

青灯夜游
Freigeben: 2022-11-10 20:46:22
nach vorne
1268 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:csdn.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage