Jadual Kandungan
2. objek permintaan req " >2. objek permintaan req
3 , res response object " >3 , res response object
4 🎜>Apabila memanggil kaedah res.end( ), apabila menghantar kandungan bahasa Cina kepada pelanggan, aksara yang bercelaru akan berlaku dan format pengekodan kandungan tersebut perlu ditetapkan secara manual " >4 🎜>Apabila memanggil kaedah res.end( ), apabila menghantar kandungan bahasa Cina kepada pelanggan, aksara yang bercelaru akan berlaku dan format pengekodan kandungan tersebut perlu ditetapkan secara manual
" >5. Membalas kandungan html yang berbeza mengikut url yang berbeza
404 Not Found!
首页
关于页面
" >2 Klasifikasi modul dalam Node.js
" >Tiga klasifikasi modul utama
menghalang masalah. pencemaran berubah global " > 2. Skop modul menghalang masalah. pencemaran berubah global
Dalam modul tersuai, anda boleh menggunakan objek module.exports ke " >3. module.exports object Dalam modul tersuai, anda boleh menggunakan objek module.exports ke
4、共享成员时的注意点" >4、共享成员时的注意点
5、exports 和 module.exports" >5、exports 和 module.exports
Rumah hujung hadapan web tutorial js Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

Nov 10, 2022 pm 08:46 PM
nodejs node

Artikel ini bercakap tentang asas nod, pemahaman dan kes modul http dan perkongsian eksport module.exports, saya harap ia akan membantu semua orang!

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

1. Modul http

Modul http ialah modul yang disediakan secara rasmi oleh Node.js untuk mencipta pelayan web. [Cadangan tutorial berkaitan: tutorial video nodejs]

Menggunakan kaedah http.createServer() yang disediakan oleh modul http, anda boleh menukar komputer biasa menjadi pelayan web dengan mudah, dengan itu menyediakan web perkhidmatan sumber kepada dunia luar.

1. Buat pelayan web

  • Import modul http
  • Buat contoh pelayan web
  • Ikat acara permintaan contoh pelayan, dengar permintaan pelanggan
  • Mulakan pelayan

Contoh: Dengar perkhidmatan 8080

// 导入 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')
})
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

2. objek permintaan req

Selagi pelayan menerima permintaan pelanggan, ia akan memanggil fungsi pemprosesan acara permintaan terikat kepada pelayan melalui server.on ()

Contoh: Dalam pengendali acara, akses data atau sifat berkaitan pelanggan

// 导入 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')
})
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

3 , res response object

Dalam fungsi pemprosesan acara permintaan pelayan, jika anda ingin mengakses data atau atribut berkaitan pelayan, anda perlu menggunakan respons

Contoh: Permintaan respon

// 导入 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')
})
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

4 🎜>Apabila memanggil kaedah res.end( ), apabila menghantar kandungan bahasa Cina kepada pelanggan, aksara yang bercelaru akan berlaku dan format pengekodan kandungan tersebut perlu ditetapkan secara manual

Contoh: Menyelesaikan masalah bahasa Cina aksara

// 导入 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')
})
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

5. Membalas kandungan html yang berbeza mengikut url yang berbeza

Contoh: Langkah-langkahnya adalah seperti berikut

Dapatkan alamat url yang diminta
  • Tetapkan kandungan respons lalai kepada 404 Not found
  • Tentukan sama ada pengguna meminta / atau /index.html halaman utama
  • Tentukan sama ada permintaan pengguna adalah /about.html Halaman Perihal
  • Tetapkan pengepala respons Jenis Kandungan untuk mengelakkan aksara Cina yang kacau.
  • Gunakan res.end() untuk membalas pelanggan dengan kandungan
// 导入 http 模块
const http = require('http')
// 创建 web 服务器实例
const server = http.createServer()
// req 是请求对象 包含了与客户端相关的数据和属性
server.on('request', (req, res) => {
    // req.url 客户端请求的 url 地址
    const url = req.url
    // 设置默认的内容为 404 Not Found
    let content = &#39;<h1 id="nbsp-Not-nbsp-Found">404 Not Found!</h1>&#39;
    // 用户请求页是首页
    if(url === &#39;/&#39; || url === &#39;/index.html&#39;) {
        content = &#39;<h1 id="首页">首页</h1>&#39;
    } else if (url === &#39;/about.html&#39;) {
        content = &#39;<h1 id="关于页面">关于页面</h1>&#39;
    }
    // 设置 Content-Type 响应头 防止中文乱码
    res.setHeader(&#39;Content-Type&#39;, &#39;text/html; charset=utf-8&#39;)
    // 调用 res.end() 方法 向客户端响应一些内容
    res.end(content)
})
// 启动服务
server.listen(8080, function () {
    console.log(&#39;http://127.0.0.1:8080&#39;)
})
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs
Analisis ringkas modul http dan perkongsian eksport dalam Nodejs
Analisis ringkas modul http dan perkongsian eksport dalam Nodejs
Analisis ringkas modul http dan perkongsian eksport dalam Nodejs
Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

2 Klasifikasi modul dalam Node.js

Tiga klasifikasi modul utama

Modul terbina dalam: Disediakan secara rasmi oleh node.js, seperti fs , laluan, http, dll.
  • Modul tersuai: Setiap fail .js yang dibuat oleh pengguna ialah modul tersuai
  • Modul pihak ketiga: Modul yang dibangunkan oleh pihak ketiga Sebelum digunakan Muat turun dahulu

2. Skop modul menghalang masalah. pencemaran berubah global

Contoh:

fail index.js

const username = &#39;张三&#39;

function say() {
    console.log(username);
}
Salin selepas log masuk
fail test.js

const custom = require(&#39;./index&#39;)

console.log(custom)
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

3. module.exports object Dalam modul tersuai, anda boleh menggunakan objek module.exports ke

kongsi ahli dalam modul

untuk kegunaan luaran. Apabila kaedah require() luaran mengimport modul tersuai, perkara yang anda dapat ialah objek yang ditunjuk oleh module.exports

Contoh:

index.js fail

const blog = &#39;前端杂货铺&#39;

// 向 module.exports 对象上挂载属性
module.exports.username = &#39;李四&#39;
// 向 module.exports 对象上挂载方法
module.exports.sayHello = function () {
    console.log(&#39;Hello!&#39;)
}
module.exports.blog = blog
Salin selepas log masuk
fail test.js

const m = require(&#39;./index&#39;)

console.log(m)
Salin selepas log masuk

4、共享成员时的注意点

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

示例:

index.js 文件

module.exports.username = &#39;李四&#39;

module.exports.sayHello = function () {
    console.log(&#39;Hello!&#39;)
}

// 让 module.exports 指向一个新对象
module.exports = {
    nickname: &#39;张三&#39;,
    sayHi() {
        console.log(&#39;Hi!&#39;)
    }
}
Salin selepas log masuk

test.js 文件

const m = require(&#39;./index&#39;)

console.log(m)
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

5、exports 和 module.exports

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

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

示例:

index1.js 文件

exports.username = &#39;杂货铺&#39;

module.exports = {
    name: &#39;前端杂货铺&#39;,
    age: 21
}
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

index2.js 文件

module.exports.username = &#39;zs&#39;

exports = {
    gender: &#39;男&#39;,
    age: 22
}
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

index3.js 文件

exports.username = &#39;杂货铺&#39;

module.exports.age = 21
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

index4.js 文件

exports = {
    gender: &#39;男&#39;,
    age: 21
}

module.exports = exports

module.exports.username = &#39;zs&#39;
Salin selepas log masuk

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs

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

Analisis ringkas modul http dan perkongsian eksport dalam Nodejs
对 index4.js 文件结果的解析如下:
Analisis ringkas modul http dan perkongsian eksport dalam Nodejs
注意:为防止混乱,尽量不要在同一个模块中同时使用 exports 和 module.exports

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

Atas ialah kandungan terperinci Analisis ringkas modul http dan perkongsian eksport dalam Nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah nodejs rangka kerja bahagian belakang? Adakah nodejs rangka kerja bahagian belakang? Apr 21, 2024 am 05:09 AM

Node.js boleh digunakan sebagai rangka kerja bahagian belakang kerana ia menawarkan ciri seperti prestasi tinggi, kebolehskalaan, sokongan merentas platform, ekosistem yang kaya dan kemudahan pembangunan.

Bagaimana untuk menyambungkan nodejs ke pangkalan data mysql Bagaimana untuk menyambungkan nodejs ke pangkalan data mysql Apr 21, 2024 am 06:13 AM

Untuk menyambung ke pangkalan data MySQL, anda perlu mengikuti langkah berikut: Pasang pemacu mysql2. Gunakan mysql2.createConnection() untuk mencipta objek sambungan yang mengandungi alamat hos, port, nama pengguna, kata laluan dan nama pangkalan data. Gunakan connection.query() untuk melaksanakan pertanyaan. Akhir sekali gunakan connection.end() untuk menamatkan sambungan.

Apakah perbezaan antara fail npm dan npm.cmd dalam direktori pemasangan nodejs? Apakah perbezaan antara fail npm dan npm.cmd dalam direktori pemasangan nodejs? Apr 21, 2024 am 05:18 AM

Terdapat dua fail berkaitan npm dalam direktori pemasangan Node.js: npm dan npm.cmd Perbezaannya adalah seperti berikut: sambungan berbeza: npm ialah fail boleh laku dan npm.cmd ialah pintasan tetingkap arahan. Pengguna Windows: npm.cmd boleh digunakan daripada command prompt, npm hanya boleh dijalankan dari baris arahan. Keserasian: npm.cmd adalah khusus untuk sistem Windows, npm tersedia merentas platform. Cadangan penggunaan: Pengguna Windows menggunakan npm.cmd, sistem pengendalian lain menggunakan npm.

Apakah pembolehubah global dalam nodejs Apakah pembolehubah global dalam nodejs Apr 21, 2024 am 04:54 AM

Pembolehubah global berikut wujud dalam Node.js: Objek global: modul Teras global: proses, konsol, memerlukan pembolehubah persekitaran Runtime: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Adakah terdapat perbezaan besar antara nodejs dan java? Adakah terdapat perbezaan besar antara nodejs dan java? Apr 21, 2024 am 06:12 AM

Perbezaan utama antara Node.js dan Java ialah reka bentuk dan ciri: Didorong peristiwa vs. didorong benang: Node.js dipacu peristiwa dan Java dipacu benang. Satu-benang vs. berbilang benang: Node.js menggunakan gelung acara satu-benang dan Java menggunakan seni bina berbilang benang. Persekitaran masa jalan: Node.js berjalan pada enjin JavaScript V8, manakala Java berjalan pada JVM. Sintaks: Node.js menggunakan sintaks JavaScript, manakala Java menggunakan sintaks Java. Tujuan: Node.js sesuai untuk tugas intensif I/O, manakala Java sesuai untuk aplikasi perusahaan besar.

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? Mar 05, 2025 pm 05:57 PM

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Adakah nodejs bahasa pembangunan bahagian belakang? Adakah nodejs bahasa pembangunan bahagian belakang? Apr 21, 2024 am 05:09 AM

Ya, Node.js ialah bahasa pembangunan bahagian belakang. Ia digunakan untuk pembangunan bahagian belakang, termasuk mengendalikan logik perniagaan sebelah pelayan, mengurus sambungan pangkalan data dan menyediakan API.

Bagaimana untuk menggunakan projek nodejs ke pelayan Bagaimana untuk menggunakan projek nodejs ke pelayan Apr 21, 2024 am 04:40 AM

Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda

See all articles