Maison interface Web Questions et réponses frontales Comment connecter HTML à Nodejs

Comment connecter HTML à Nodejs

May 13, 2023 pm 05:10 PM

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

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

上述代码中,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!');
});
Copier après la connexion

客户端代码:

<!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>
Copier après la connexion

上述代码中,服务端代码使用socket.io模块创建了一个Socket.IO服务器,并在客户端与服务器之间建立连接时记录日志。当接收到客户端发来的chat message消息时,服务器将该消息广播给所有当前连接的客户端。客户端使用socket.io.js

2.Handlebars.js

Handlebars.js est un moteur de modèles populaire qui peut générer du HTML basé sur des pages et des données. Il s'intègre très bien au framework Express.js pour Node.js, avec lequel vous pouvez connecter HTML et Node.js plus facilement. 🎜🎜Ce qui suit est un exemple simple d'utilisation de guidons.js pour connecter HTML et Node.js : 🎜rrreee🎜Dans le code ci-dessus, la fonction 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!

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines 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)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

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.

Expliquez le concept de chargement paresseux. Expliquez le concept de chargement paresseux. Mar 13, 2025 pm 07:47 PM

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.

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

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.

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

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

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

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

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

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

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

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.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

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é.

See all articles