Table des matières
2. objet de requête req" >2. objet de requête req
3. objet de réponse res" >3. objet de réponse res
4. Résolvez le problème des caractères chinois tronqués" >4. Résolvez le problème des caractères chinois tronqués
Déterminez si la demande de l'utilisateur est /about.html À propos de la page " > Déterminez si la demande de l'utilisateur est /about.html À propos de la page
Exemple :" >2. de pollution variable globaleExemple :
404 Not Found!
首页
关于页面
4、共享成员时的注意点" >4、共享成员时的注意点
5、exports 和 module.exports" >5、exports 和 module.exports
Maison interface Web js tutoriel Une brève analyse du module http et du partage d'export dans Nodejs

Une brève analyse du module http et du partage d'export dans Nodejs

Nov 10, 2022 pm 08:46 PM
nodejs node

Cet article parle des bases de node, de la compréhension et des cas du module http et du partage d'exportation module.exports, j'espère qu'il sera utile à tout le monde !

Une brève analyse du module http et du partage d'export dans Nodejs

1. Module http

Le module http est un module officiellement fourni par Node.js pour la création de serveurs web. [Recommandations de didacticiel associées : Tutoriel vidéo Nodejs]

Grâce à la méthode http.createServer() fournie par le module http, vous pouvez facilement transformer un ordinateur ordinaire en serveur Web pour fournir des services de ressources Web externes.

1. Créez un serveur Web

  • Importez le module http
  • Créez une instance de serveur Web
  • Liez l'événement de requête à l'instance de serveur et écoutez les demandes des clients
  • Démarrez le serveur

Exemple : Service Monitor 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')
})
Copier après la connexion

Une brève analyse du module http et du partage dexport dans Nodejs

2. objet de requête req

Tant que le serveur reçoit la requête du client, il appellera la fonction de traitement des événements de requête liée au serveur via server.on()

Exemple : Dans la fonction de traitement d'événements, accédez aux données ou attributs liés au client

// 导入 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')
})
Copier après la connexion

Une brève analyse du module http et du partage dexport dans Nodejs

3. objet de réponse res

Dans la fonction de traitement d'événements de requête du serveur, si vous souhaitez accéder aux données ou attributs liés à le serveur, vous devez utiliser la réponse

Exemple : Demande de réponse

// 导入 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')
})
Copier après la connexion

Une brève analyse du module http et du partage dexport dans Nodejs

Une brève analyse du module http et du partage dexport dans Nodejs

4. Résolvez le problème des caractères chinois tronqués

Lorsque la méthode res.end() est appelée pour envoyer Contenu chinois au client, des caractères tronqués apparaîtront et devront être définis manuellement. selon différentes URL

Exemple : Les étapes sont les suivantes

Une brève analyse du module http et du partage dexport dans NodejsObtenir l'adresse url demandée

Définir le contenu de la réponse par défaut sur 404 Introuvable Une brève analyse du module http et du partage dexport dans Nodejs

Déterminer si la demande de l'utilisateur est / ou /index.html Page d'accueil

Déterminez si la demande de l'utilisateur est /about.html À propos de la page

Définissez l'en-tête de réponse Content-Type, pour éviter les caractères chinois tronqués

Utilisez res.end() pour répondre au client

// 导入 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')
})
Copier après la connexion
2. Classification des modules dans Node.js

Une brève analyse du module http et du partage dexport dans Nodejs
Une brève analyse du module http et du partage dexport dans Nodejs 1. Trois grandes catégories de modules
Une brève analyse du module http et du partage dexport dans Nodejs
Modules intégrés : officiellement fournis par node.js, tels que fs, path, http, etc.Une brève analyse du module http et du partage dexport dans Nodejs
Modules personnalisés : chaque fichier .js créé par l'utilisateur est un module personnaliséUne brève analyse du module http et du partage dexport dans Nodejs

Module tiers : les modules développés par des tiers doivent être téléchargés avant utilisation

2. de pollution variable globaleExemple :

  • fichier index.js
  • // 导入 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;)
    })
    Copier après la connexion
  • fichier .js test
const username = &#39;张三&#39;

function say() {
    console.log(username);
}
Copier après la connexion

objet module.exports

Dans un module personnalisé, vous pouvez utiliser l'objet module.exports. module.exports l'objet vers les membres

share au sein du module pour un usage externe. Lorsque la méthode externe require() importe un module personnalisé, vous obtenez l'objet pointé par module.exports

Exemple :

fichier index.js

Une brève analyse du module http et du partage dexport dans Nodejs

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

console.log(custom)
Copier après la connexion

fichier test.js
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
Copier après la connexion

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;)
    }
}
Copier après la connexion

test.js 文件

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

console.log(m)
Copier après la connexion

Une brève analyse du module http et du partage dexport dans Nodejs

5、exports 和 module.exports

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

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

示例:

index1.js 文件

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

module.exports = {
    name: &#39;前端杂货铺&#39;,
    age: 21
}
Copier après la connexion

Une brève analyse du module http et du partage dexport dans Nodejs

index2.js 文件

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

exports = {
    gender: &#39;男&#39;,
    age: 22
}
Copier après la connexion

Une brève analyse du module http et du partage dexport dans Nodejs

index3.js 文件

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

module.exports.age = 21
Copier après la connexion

Une brève analyse du module http et du partage dexport dans Nodejs

index4.js 文件

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

module.exports = exports

module.exports.username = &#39;zs&#39;
Copier après la connexion

Une brève analyse du module http et du partage dexport dans Nodejs

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

Une brève analyse du module http et du partage dexport dans Nodejs
对 index4.js 文件结果的解析如下:
Une brève analyse du module http et du partage dexport dans Nodejs
注意:为防止混乱,尽量不要在同一个模块中同时使用 exports 和 module.exports

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nodejs est-il un framework backend ? Nodejs est-il un framework backend ? Apr 21, 2024 am 05:09 AM

Node.js peut être utilisé comme framework backend car il offre des fonctionnalités telles que des performances élevées, l'évolutivité, la prise en charge multiplateforme, un écosystème riche et une facilité de développement.

Comment connecter Nodejs à la base de données MySQL Comment connecter Nodejs à la base de données MySQL Apr 21, 2024 am 06:13 AM

Pour vous connecter à une base de données MySQL, vous devez suivre ces étapes : Installez le pilote mysql2. Utilisez mysql2.createConnection() pour créer un objet de connexion contenant l'adresse de l'hôte, le port, le nom d'utilisateur, le mot de passe et le nom de la base de données. Utilisez connection.query() pour effectuer des requêtes. Enfin, utilisez connection.end() pour mettre fin à la connexion.

Quelle est la différence entre les fichiers npm et npm.cmd dans le répertoire d'installation de nodejs ? Quelle est la différence entre les fichiers npm et npm.cmd dans le répertoire d'installation de nodejs ? Apr 21, 2024 am 05:18 AM

Il existe deux fichiers liés à npm dans le répertoire d'installation de Node.js : npm et npm.cmd. Les différences sont les suivantes : différentes extensions : npm est un fichier exécutable et npm.cmd est un raccourci de fenêtre de commande. Utilisateurs Windows : npm.cmd peut être utilisé à partir de l'invite de commande, npm ne peut être exécuté qu'à partir de la ligne de commande. Compatibilité : npm.cmd est spécifique aux systèmes Windows, npm est disponible multiplateforme. Recommandations d'utilisation : les utilisateurs Windows utilisent npm.cmd, les autres systèmes d'exploitation utilisent npm.

Quelles sont les variables globales dans nodejs Quelles sont les variables globales dans nodejs Apr 21, 2024 am 04:54 AM

Les variables globales suivantes existent dans Node.js : Objet global : global Module principal : processus, console, nécessiter Variables d'environnement d'exécution : __dirname, __filename, __line, __column Constantes : undefined, null, NaN, Infinity, -Infinity

Y a-t-il une grande différence entre nodejs et java ? Y a-t-il une grande différence entre nodejs et java ? Apr 21, 2024 am 06:12 AM

Les principales différences entre Node.js et Java résident dans la conception et les fonctionnalités : Piloté par les événements ou piloté par les threads : Node.js est piloté par les événements et Java est piloté par les threads. Monothread ou multithread : Node.js utilise une boucle d'événements monothread et Java utilise une architecture multithread. Environnement d'exécution : Node.js s'exécute sur le moteur JavaScript V8, tandis que Java s'exécute sur la JVM. Syntaxe : Node.js utilise la syntaxe JavaScript, tandis que Java utilise la syntaxe Java. Objectif : Node.js convient aux tâches gourmandes en E/S, tandis que Java convient aux applications de grande entreprise.

Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Mar 05, 2025 pm 05:57 PM

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Nodejs est-il un langage de développement back-end ? Nodejs est-il un langage de développement back-end ? Apr 21, 2024 am 05:09 AM

Oui, Node.js est un langage de développement backend. Il est utilisé pour le développement back-end, notamment la gestion de la logique métier côté serveur, la gestion des connexions à la base de données et la fourniture d'API.

Comment déployer le projet nodejs sur le serveur Comment déployer le projet nodejs sur le serveur Apr 21, 2024 am 04:40 AM

Étapes de déploiement de serveur pour un projet Node.js : Préparez l'environnement de déploiement : obtenez l'accès au serveur, installez Node.js, configurez un référentiel Git. Créez l'application : utilisez npm run build pour générer du code et des dépendances déployables. Téléchargez le code sur le serveur : via Git ou File Transfer Protocol. Installer les dépendances : connectez-vous en SSH au serveur et installez les dépendances de l'application à l'aide de npm install. Démarrez l'application : utilisez une commande telle que node index.js pour démarrer l'application ou utilisez un gestionnaire de processus tel que pm2. Configurer un proxy inverse (facultatif) : utilisez un proxy inverse tel que Nginx ou Apache pour acheminer le trafic vers votre application

See all articles