Rumah > hujung hadapan web > tutorial js > Bermula dengan Node JS

Bermula dengan Node JS

WBOY
Lepaskan: 2024-08-21 06:12:35
asal
709 orang telah melayarinya

Getting Started with Node JS

Apakah NodeJS?

  • Definisi: NodeJS ialah persekitaran masa jalan JavaScript merentas platform sumber terbuka yang membolehkan anda melaksanakan kod JavaScript di luar pelayar web.
  • Tujuan: Ia digunakan terutamanya untuk skrip sebelah pelayan, di mana JavaScript digunakan untuk menghasilkan kandungan web dinamik sebelum halaman dihantar ke penyemak imbas web pengguna.
  • Ciri Utama:
    • Seni Bina Didorong Peristiwa: NodeJS menggunakan model I/O yang dipacu peristiwa dan tidak menyekat, menjadikannya cekap dan ringan.
    • Berbenang Tunggal: Walaupun berbenang tunggal, NodeJS mengendalikan operasi serentak menggunakan sifat tak segeraknya dan gelung peristiwa.
    • Dibina pada V8: NodeJS dibina pada enjin JavaScript V8 Google Chrome, menjadikannya sangat pantas dalam melaksanakan kod JavaScript.

Bagaimanakah NodeJS Berfungsi di Latar Belakang?

  • Gelung Acara:

    • NodeJS beroperasi pada gelung acara berbenang tunggal, yang membolehkannya mengendalikan berbilang permintaan serentak tanpa menyekat urutan.
    • Fasa Gelung Acara:
    • Pemasa: Melaksanakan panggilan balik yang dijadualkan oleh setTimeout() dan setInterval().
    • Panggil Balik Belum Selesai: Melaksanakan panggilan balik I/O ditunda ke lelaran gelung seterusnya.
    • Melahu, Sediakan: Digunakan secara dalaman oleh NodeJS.
    • Tinjauan pendapat: Mendapatkan semula acara I/O baharu dan melaksanakan panggilan balik berkaitan I/O.
    • Semak: Melaksanakan panggilan balik yang dijadualkan oleh setImmediate().
    • Tutup Panggilan Balik: Melaksanakan panggilan balik acara tutup.
  • I/O tidak menyekat: NodeJS mengendalikan operasi I/O secara tidak segerak, bermakna ia tidak menunggu operasi selesai sebelum beralih ke tugas seterusnya.

Contoh:

  const fs = require('fs');

  console.log("Start");

  // Reading a file asynchronously
  fs.readFile('example.txt', 'utf8', (err, data) => {
      if (err) throw err;
      console.log(data);
  });

  console.log("End");
Salin selepas log masuk

Output:

  Start
  End
  (contents of example.txt)
Salin selepas log masuk

Penjelasan:

  • NodeJS terus melaksanakan kod selepas fungsi fs.readFile() dipanggil, tanpa menunggu fail dibaca. Ini menunjukkan model I/O tidak menyekatnya.

Apakah Modul dalam NodeJS?

  • Definisi: Modul ialah blok kod terkapsul yang berkomunikasi dengan aplikasi luaran berdasarkan kefungsian berkaitannya.
  • Jenis Modul:
    • Modul Teras: Dibina dalam NodeJS (cth., fs, http, laluan, dll.).
    • Modul Tempatan: Dicipta oleh pengguna untuk menyusun dan menyusun kod.
    • Modul Pihak Ketiga: Dipasang melalui npm (cth., ekspres, lodash).

Cara Mengimport dan Mengeksport Modul dalam JavaScript dan NodeJS

Dalam JavaScript (Modul ES6):

  • Mengeksport:
  // Named export
  export const add = (a, b) => a + b;

  // Default export
  export default function subtract(a, b) {
      return a - b;
  }
Salin selepas log masuk
  • Mengimport:
  // Named import
  import { add } from './math.js';

  // Default import
  import subtract from './math.js';
Salin selepas log masuk

Dalam NodeJS (Modul CommonJS):

  • Mengeksport:
  // Using module.exports
  module.exports.add = (a, b) => a + b;

  // Using exports shorthand
  exports.subtract = (a, b) => a - b;
Salin selepas log masuk
  • Mengimport:
  // Importing modules
  const math = require('./math.js');
  const add = math.add;
  const subtract = math.subtract;
Salin selepas log masuk

Apakah Pengendalian Fail dalam NodeJS?

  • Definisi: Pengendalian fail dalam NodeJS membolehkan anda bekerja dengan sistem fail pada mesin anda, termasuk membaca, menulis, mengemas kini dan memadam fail.

Fungsi Penting:

  • Beberapa Fungsi Modul fs yang paling penting:
    • fs.readFile(): Membaca kandungan fail secara tak segerak.
    • fs.writeFile(): Menulis data secara tak segerak pada fail, menggantikan fail jika ia sudah wujud.
    • fs.appendFile(): Menambah data pada fail. Jika fail itu tidak wujud, ia mencipta fail baharu.
    • fs.unlink(): Memadamkan fail.
    • fs.rename(): Menamakan semula fail.

Contoh:

  const fs = require('fs');

  // Writing to a file
  fs.writeFile('example.txt', 'Hello, NodeJS!', (err) => {
      if (err) throw err;
      console.log('File written successfully.');

      // Reading the file
      fs.readFile('example.txt', 'utf8', (err, data) => {
          if (err) throw err;
          console.log('File contents:', data);

          // Appending to the file
          fs.appendFile('example.txt', ' This is an appended text.', (err) => {
              if (err) throw err;
              console.log('File appended successfully.');

              // Renaming the file
              fs.rename('example.txt', 'newExample.txt', (err) => {
                  if (err) throw err;
                  console.log('File renamed successfully.');

                  // Deleting the file
                  fs.unlink('newExample.txt', (err) => {
                      if (err) throw err;
                      console.log('File deleted successfully.');
                  });
              });
          });
      });
  });
Salin selepas log masuk

Output:

  File written successfully.
  File contents: Hello, NodeJS!
  File appended successfully.
  File renamed successfully.
  File deleted successfully.
Salin selepas log masuk

Bagaimana untuk Membina Pelayan dalam NodeJS?

  • Menggunakan Modul http: Modul http ialah modul teras dalam NodeJS yang membolehkan anda mencipta pelayan yang mendengar permintaan pada port tertentu dan menghantar respons.

Contoh:

  const http = require('http');

  // Creating a server
  const server = http.createServer((req, res) => {
      res.statusCode = 200;
      res.setHeader('Content-Type', 'text/plain');
      res.end('Hello, World!\n');
  });

  // Listening on port 3000
  server.listen(3000, '127.0.0.1', () => {
      console.log('Server running at http://127.0.0.1:3000/');
  });
Salin selepas log masuk

Output:

  Server running at http://127.0.0.1:3000/
Salin selepas log masuk
  • Explanation: The server responds with "Hello, World!" every time it receives a request. The server listens on localhost (127.0.0.1) at port 3000.

What is an HTTP Module?

  • Definition: The http module in NodeJS provides functionalities to create HTTP servers and clients.

Important Functions?

  • Some of the most important functions of HTTP module are:
    • http.createServer(): Creates an HTTP server that listens to requests and sends responses.
    • req.method: Retrieves the request method (GET, POST, etc.).
    • req.url: Retrieves the URL of the request.
    • res.writeHead(): Sets the status code and headers for the response.
    • res.end(): Signals to the server that all of the response headers and body have been sent.

Example:

  const http = require('http');

  const server = http.createServer((req, res) => {
      if (req.url === '/') {
          res.writeHead(200, { 'Content-Type': 'text/plain' });
          res.end('Welcome to the homepage!\n');
      } else if (req.url === '/about') {
          res.writeHead(200, { 'Content-Type': 'text/plain' });
          res.end('Welcome to the about page!\n');
      } else {
          res.writeHead(404, { 'Content-Type': 'text/plain' });
          res.end('404 Not Found\n');
      }
  });

  server.listen(3000, '127.0.0.1', () => {
      console.log('Server running at http://127.0.0.1:3000/');
  });
Salin selepas log masuk

Output:

  • If you navigate to http://127.0.0.1:3000/, the server will display "Welcome to the homepage!".
  • If you navigate to http://127.0.0.1:3000/about, the server will display "Welcome to the about page!".
  • If you navigate to any other URL, the server will display "404 Not Found".

Atas ialah kandungan terperinci Bermula dengan Node JS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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