Was ist NodeJS?
-
Definition: NodeJS ist eine plattformübergreifende Open-Source-JavaScript-Laufzeitumgebung, die es Ihnen ermöglicht, JavaScript-Code außerhalb eines Webbrowsers auszuführen.
-
Zweck: Es wird hauptsächlich für serverseitiges Scripting verwendet, wobei JavaScript verwendet wird, um dynamische Webinhalte zu erstellen, bevor die Seite an den Webbrowser des Benutzers gesendet wird.
-
Hauptmerkmale:
-
Ereignisgesteuerte Architektur: NodeJS verwendet ein ereignisgesteuertes, nicht blockierendes I/O-Modell, was es effizient und leichtgewichtig macht.
-
Single-Threaded: Obwohl Single-Threaded, verarbeitet NodeJS gleichzeitige Vorgänge mithilfe seiner asynchronen Natur und der Ereignisschleife.
-
Aufgebaut auf V8: NodeJS basiert auf der V8-JavaScript-Engine von Google Chrome, was die Ausführung von JavaScript-Code extrem schnell macht.
Wie funktioniert NodeJS im Hintergrund?
Beispiel:
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");
Ausgabe:
Start
End
(contents of example.txt)
Erklärung:
- NodeJS führt den Code nach dem Aufruf der Funktion fs.readFile() weiter aus, ohne auf das Lesen der Datei zu warten. Dies demonstriert sein nicht blockierendes I/O-Modell.
Was sind Module in NodeJS?
-
Definition: Module sind Blöcke aus gekapseltem Code, die basierend auf ihrer zugehörigen Funktionalität mit einer externen Anwendung kommunizieren.
-
Modultypen:
-
Kernmodule: In NodeJS integriert (z. B. fs, http, path usw.).
-
Lokale Module: Von Benutzern erstellt, um Code zu organisieren und zu strukturieren.
-
Module von Drittanbietern: Installiert über npm (z. B. Express, Lodash).
Möglichkeiten zum Importieren und Exportieren von Modulen in JavaScript und NodeJS
In JavaScript (ES6-Module):
// Named export
export const add = (a, b) => a + b;
// Default export
export default function subtract(a, b) {
return a - b;
}
// Named import
import { add } from './math.js';
// Default import
import subtract from './math.js';
In NodeJS (CommonJS-Module):
// Using module.exports
module.exports.add = (a, b) => a + b;
// Using exports shorthand
exports.subtract = (a, b) => a - b;
// Importing modules
const math = require('./math.js');
const add = math.add;
const subtract = math.subtract;
Was ist Dateihandhabung in NodeJS?
-
Definition: Die Dateiverwaltung in NodeJS ermöglicht Ihnen die Arbeit mit dem Dateisystem auf Ihrem Computer, einschließlich Lesen, Schreiben, Aktualisieren und Löschen von Dateien.
Wichtige Funktionen:
-
Einige der wichtigsten fs-Modulfunktionen:
-
fs.readFile(): Liest asynchron den Inhalt einer Datei.
-
fs.writeFile(): Schreibt Daten asynchron in eine Datei und ersetzt die Datei, falls sie bereits vorhanden ist.
-
fs.appendFile(): Hängt Daten an eine Datei an. Wenn die Datei nicht existiert, wird eine neue Datei erstellt.
-
fs.unlink(): Löscht eine Datei.
-
fs.rename(): Benennt eine Datei um.
Beispiel:
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.');
});
});
});
});
});
Ausgabe:
File written successfully.
File contents: Hello, NodeJS!
File appended successfully.
File renamed successfully.
File deleted successfully.
Wie erstellt man einen Server in NodeJS?
-
Verwendung des http-Moduls: Das http-Modul ist ein Kernmodul in NodeJS, mit dem Sie einen Server erstellen können, der auf Anfragen an einem bestimmten Port lauscht und Antworten sendet.
Beispiel:
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/');
});
Ausgabe:
Server running at http://127.0.0.1:3000/
-
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/');
});
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".
Das obige ist der detaillierte Inhalt vonErste Schritte mit Node JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!