Maison >interface Web >Questions et réponses frontales >Nodejs crée un serveur de ressources statiques

Nodejs crée un serveur de ressources statiques

WBOY
WBOYoriginal
2023-05-12 12:31:071933parcourir

Avec le développement d'Internet, le développement Web est devenu une industrie très populaire dans le monde entier. Pour les développeurs, afin de développer et de publier du code rapidement et efficacement, nous avons besoin d'un serveur de ressources statiques pour nous aider à gérer et traiter les ressources statiques, en particulier. dans le modèle de développement de séparation front-end et back-end, Node.js est devenu un langage de développement très populaire depuis sa sortie. Son module http est particulièrement adapté à la construction de serveurs de ressources statiques. Dans cet article, nous expliquerons comment utiliser Node.js pour créer un serveur de ressources statiques léger.

1. Installez Node

Nous devons d'abord installer Node.js, qui est un langage de programmation côté serveur basé sur JavaScript et peut être téléchargé et installé sur le site officiel.

2. Initialiser le projet

Nous devons créer un dossier localement et initialiser un projet Node pour celui-ci.

Entrez la commande suivante dans la ligne de commande :

mkdir node-static-server
cd node-static-server
npm init

Après avoir entré la commande ci-dessus, nous serons invités à créer les paramètres d'initialisation de ce projet. Vous pouvez également appuyer sur Entrée pour utiliser les valeurs par défaut.

Créez un fichier nommé index.html dans le projet et ajoutez-y une simple balise html, comme indiqué ci-dessous :

<!DOCTYPE html>
<html>
<head></head>
<body>
  <h1>Hello, World!</h1>
</body>
</html>

3 Créez le serveur

Créez un fichier nommé server.js dans le projet, utilisez le fichier intégré. dans le module http de Node.js pour créer un serveur web. Le code est le suivant :

const http = require('http');
const fs = require('fs');
const path = require('path');

const server = http.createServer((req, res) => {
  // 处理首页请求
  if (req.url === '/') {
    fs.readFile(path.join(__dirname, 'index.html'), (err, data) => {
      if (err) {
        res.writeHead(500);
        return res.end('Error loading index.html');
      }

      res.writeHead(200);
      res.end(data);
    });
  } else {
    // 处理其他静态文件请求
    const filePath = path.join(__dirname, req.url);
    fs.readFile(filePath, (err, data) => {
      if (err) {
        res.writeHead(404);
        return res.end('404 not found');
      }

      res.writeHead(200);
      res.end(data);
    });
  }
});

const port = process.env.PORT || 3000;
server.listen(port, () => console.log(`Server running at http://localhost:${port}`));

4. Exécutez le serveur

Entrez la commande suivante sur la ligne de commande pour démarrer le serveur :

node server.js

Ouvrez http://. dans le navigateur localhost:3000, vous pouvez voir que notre serveur de ressources statiques est en cours d'exécution.

Si tout se passe bien, lorsque nous visitons http://localhost:3000/ dans le navigateur, le contenu que nous avons écrit dans index.html sera affiché.

5. Gérer différentes demandes de fichiers statiques

En plus de la réponse de la page d'accueil, nous devons également gérer les demandes d'autres fichiers statiques, tels que les fichiers CSS, JS et image, etc. Cela peut être fait en ajoutant la ressource statique correspondante répertoire vers le serveur, Pour demander différents types de fichiers statiques. Ici, nous avons créé un répertoire nommé public pour stocker les fichiers statiques. Le code suivant mappera le contenu de ce répertoire au répertoire racine du serveur :

const server = http.createServer((req, res) => {
  if (req.url === '/') {
    // 处理首页请求省略
  } else {
    // 处理其他静态文件请求
    const filePath = path.join(__dirname, 'public', req.url);
    fs.readFile(filePath, (err, data) => {
      if (err) {
        res.writeHead(404);
        return res.end('404 not found');
      }

      if (req.url.endsWith('.css')) {
        res.writeHead(200, { 'content-type': 'text/css' });
      }

      if (req.url.endsWith('.js')) {
        res.writeHead(200, { 'content-type': 'application/javascript' });
      }

      if (req.url.endsWith('.png')) {
        res.writeHead(200, { 'content-type': 'image/png' });
      }

      res.end(data);
    });
  }
});

6. Résumé

Utilisez Node.js pour créer des ressources statiques Le serveur est. simple et pratique En utilisant le module http intégré, vous pouvez facilement créer un serveur de base pour gérer les demandes de ressources statiques, telles que HTML, CSS, JS et images, etc. Dans le processus de développement futur, nous pourrons choisir un cadre de serveur approprié en fonction de nos propres besoins pour obtenir un serveur plus efficace et plus puissant.

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:
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
Article précédent:lien caché javascriptArticle suivant:lien caché javascript