Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Nodejs membina pelayan sumber statik

Nodejs membina pelayan sumber statik

WBOY
Lepaskan: 2023-05-12 12:31:07
asal
1930 orang telah melayarinya

Dengan perkembangan Internet, pembangunan Web telah menjadi industri yang sangat popular di seluruh dunia Bagi pembangun, untuk membangunkan dan menerbitkan kod dengan cepat dan berkesan, kami memerlukan pelayan sumber statik untuk membantu kami Mengurus dan memproses sumber statik. , terutamanya dalam model pembangunan di mana hujung depan dan belakang dipisahkan, digunakan dengan lebih kerap Node.js telah menjadi bahasa pembangunan yang sangat popular sejak dikeluarkan, dan modul httpnya sendiri amat sesuai untuk membina sumber statik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Node.js untuk membina pelayan sumber statik ringan.

1. Pasang Node

Mula-mula kita perlu memasang Node.js, iaitu bahasa pengaturcaraan bahagian pelayan berdasarkan JavaScript dan boleh dimuat turun dan dipasang di tapak web rasmi.

2 Mulakan projek

Kami perlu mencipta folder secara setempat dan memulakan projek Node untuknya.

Masukkan arahan berikut dalam baris arahan:

mkdir node-static-server
cd node-static-server
npm init
Salin selepas log masuk

Selepas memasukkan arahan di atas, kami akan digesa untuk membina parameter permulaan projek ini Anda juga boleh menekan Enter untuk menggunakan lalai nilai.

Buat fail bernama index.html dalam projek dan tambahkan teg html ringkas di dalamnya, seperti yang ditunjukkan di bawah:

<!DOCTYPE html>
<html>
<head></head>
<body>
  <h1>Hello, World!</h1>
</body>
</html>
Salin selepas log masuk

3 Cipta pelayan

dalam Cipta a fail bernama server.js dalam projek dan gunakan modul http terbina dalam Node.js untuk mencipta pelayan web Kodnya adalah seperti berikut:

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}`));
Salin selepas log masuk

4. Jalankan pelayan

. dalam arahan Masukkan arahan berikut dalam baris untuk memulakan pelayan:

node server.js
Salin selepas log masuk

Buka http://localhost:3000 dalam penyemak imbas, dan anda dapat melihat bahawa pelayan sumber statik kami sedang berjalan.

Jika semuanya baik-baik saja, apabila kami melawati http://localhost:3000/ dalam penyemak imbas, ia akan memaparkan kandungan yang kami tulis dalam index.html.

5. Mengendalikan permintaan fail statik yang berbeza

Selain respons halaman utama, kami juga perlu mengendalikan permintaan untuk fail statik lain, seperti CSS, JS dan fail imej, dll. Ini boleh dilakukan dengan Tambah direktori sumber statik yang sepadan untuk meminta pelbagai jenis fail statik. Di sini, kami mencipta direktori bernama awam untuk menyimpan fail statik Kod berikut akan memetakan kandungan direktori ini ke direktori akar pelayan:

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);
    });
  }
});
Salin selepas log masuk

6 dan mudah untuk membina pelayan sumber statik menggunakan Node.js Dengan menggunakan modul http terbina dalam, anda boleh membuat pelayan asas dengan mudah untuk mengendalikan permintaan untuk sumber statik, seperti HTML, CSS, JS dan imej, dsb. Dalam proses pembangunan akan datang, kita boleh memilih rangka kerja pelayan yang sesuai mengikut keperluan kita sendiri untuk mencapai pelayan yang lebih cekap dan berkuasa.

Atas ialah kandungan terperinci Nodejs membina pelayan sumber statik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan