Comment connecter HTML à Nodejs
Avec le développement rapide des applications Web ces dernières années, Node.js (un environnement d'exécution JavaScript léger) a également été largement utilisé pour développer diverses applications côté serveur. HTML est le langage principal du Web, alors comment connecter HTML au backend Node.js ? Cet article y répondra une par une pour vous.
Afin de mieux comprendre la relation entre HTML et Node.js, vous devez d'abord comprendre comment fonctionne HTML. HTML est le langage de base pour la conception de pages Web. Il décrit la structure et la mise en page de la page à travers un grand nombre de balises (tags), et affiche le contenu à travers divers fichiers multimédias (tels que des images, des sons et des vidéos). Node.js est une technologie de serveur back-end basée sur le langage JavaScript, qui peut gérer les requêtes Web et renvoyer des pages Web au client. Lorsqu'un client demande une page Web, Node.js récupère les données requises de la base de données principale, puis les insère dynamiquement dans le code HTML pour générer une page Web dynamique.
Afin d'établir la connexion entre HTML et Node.js, certains frameworks et bibliothèques doivent être utilisés pour réduire la charge de travail. Voici quelques frameworks et bibliothèques couramment utilisés :
1.Express.js
Express.js est un framework d'application Web basé sur Node.js, qui peut aider les développeurs à créer rapidement des applications Web évolutives. Il fournit une série d'API pour faciliter le développement d'applications.
Ce qui suit est un exemple simple d'utilisation d'Express.js pour connecter HTML et Node.js :
const express = require('express'); const app = express(); app.use(express.static('public')); app.get('/', (req, res) => { res.sendFile(__dirname + '/public/index.html'); }); app.listen(3000, () => { console.log('App listening on port 3000!'); });
Dans le code ci-dessus, la fonction express()
crée une instance d'application Express et l'attribue à variable d'application
. La fonction app.use()
spécifie que le serveur Web héberge des fichiers statiques (tels que des fichiers CSS et JavaScript) dans le répertoire public
. La fonction app.get()
spécifie que lorsque le chemin de l'URL est /
, le fichier index.html
est envoyé depuis le serveur. La fonction app.listen()
lie l'application au port 3000. express()
函数创建一个Express应用程序实例,并将其赋值给app
变量。app.use()
函数指定Web服务器将静态文件(如CSS和JavaScript文件)托管在public
目录下。app.get()
函数指定当URL路径为/
时,从服务器发送index.html
文件。app.listen()
函数将应用程序绑定到端口3000上。
2.Handlebars.js
Handlebars.js是一个流行的模板引擎,它可以根据页面和数据生成HTML。它与Node.js的Express.js框架集成非常好,借助于它可以更方便地连接HTML和Node.js。
以下是一个使用Handlebars.js连接HTML和Node.js的简单示例:
const express = require('express'); const exphbs = require('express-handlebars'); const app = express(); app.engine('handlebars', exphbs()); app.set('view engine', 'handlebars'); app.get('/', (req, res) => { res.render('home', { name: 'World' }); }); app.listen(3000, () => { console.log('App listening on port 3000!'); });
上述代码中,exphbs()
函数返回一个Handlebars.js实例,并将其赋值给app.engine()
函数的第一个参数。app.set()
函数指定模板引擎为Handlebars.js。app.get()
函数在访问根路径时渲染home.handlebars
模板并传递设置name变量为"World"。
3.Socket.IO
Socket.IO是一个Node.js和浏览器之间实时通信的库。它允许服务器与客户端之间进行双向通信,可以在HTML和Node.js之间实现实时通信。
以下是一个使用Socket.IO连接HTML和Node.js的简单示例:
服务端代码:
const express = require('express'); const app = express(); const server = require('http').createServer(app); const io = require('socket.io')(server); io.on('connection', (socket) => { console.log('a user connected'); socket.on('disconnect', () => { console.log('user disconnected'); }); socket.on('chat message', (msg) => { console.log('message: ' + msg); io.emit('chat message', msg); }); }); server.listen(3000, () => { console.log('App listening on port 3000!'); });
客户端代码:
<!DOCTYPE html> <html> <head> <title>Socket.IO Example</title> <script src="/socket.io/socket.io.js"></script> </head> <body> <ul id="messages"></ul> <form id="message-form"> <input type="text" id="message-input"> <button type="submit">Send</button> </form> <script> var socket = io(); var form = document.getElementById('message-form'); form.addEventListener('submit', function(e) { e.preventDefault(); var msgInput = document.getElementById('message-input'); socket.emit('chat message', msgInput.value); msgInput.value = ''; }); socket.on('chat message', function(msg) { var messages = document.getElementById('messages'); var message = document.createElement('li'); message.innerHTML = msg; messages.appendChild(message); }); </script> </body> </html>
上述代码中,服务端代码使用socket.io
模块创建了一个Socket.IO服务器,并在客户端与服务器之间建立连接时记录日志。当接收到客户端发来的chat message
消息时,服务器将该消息广播给所有当前连接的客户端。客户端使用socket.io.js
exphbs()
renvoie une instance de guidons.js et lui attribue à app.engine()Le premier paramètre de la fonction. La fonction app.set()
spécifie le moteur de modèle comme Handles.js. La fonction app.get()
restitue le modèle home.handlebars
lors de l'accès au chemin racine et transmet la variable de nom à "World". 🎜🎜3.Socket.IO🎜🎜Socket.IO est une bibliothèque pour la communication en temps réel entre Node.js et le navigateur. Il permet une communication bidirectionnelle entre le serveur et le client, permettant une communication en temps réel entre HTML et Node.js. 🎜🎜Ce qui suit est un exemple simple d'utilisation de Socket.IO pour connecter HTML et Node.js : 🎜🎜Code serveur : 🎜rrreee🎜Code client : 🎜rrreee🎜Dans le code ci-dessus, le code du serveur utilise socket.io crée un serveur Socket.IO et enregistre lorsqu'une connexion est établie entre le client et le serveur. Lors de la réception d'un message <code>message de discussion
d'un client, le serveur diffuse le message à tous les clients actuellement connectés. Le client utilise la bibliothèque socket.io.js
pour se connecter au serveur Socket.IO, les données de soumission du formulaire sont envoyées au serveur Socket.IO et les messages diffusés sont automatiquement reçus via le client Socket.IO. . 🎜🎜En résumé, la connexion entre HTML et Node.js peut offrir de la flexibilité et du temps réel dans le développement d'applications Web. Bien que l'utilisation de frameworks et de bibliothèques puisse faciliter la connexion, il est important d'avoir une compréhension approfondie du HTML, de Node.js et du développement Web. 🎜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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Le chargement paresseux retarde le chargement du contenu jusqu'à ce qu'il soit nécessaire, améliorant les performances du Web et l'expérience utilisateur en réduisant les temps de chargement initiaux et la charge du serveur.

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.
