app.js: Startdatei oder Einstiegsdatei package.json: speichert Projektinformationen und Modulabhängigkeiten. Wenn Sie abhängige Module zu Abhängigkeiten hinzufügen und npm install ausführen, überprüft npm package.json im aktuellen Verzeichnis und installiert automatisch alle angegebenen Module. node_modules: speichert die in package.json installierten Module. Wenn Sie abhängige Module zu package.json hinzufügen und installieren, werden sie in diesem Ordner gespeichert. öffentlich: speichert Bild-, CSS-, JS- und andere Dateien Routen: Routingdateien speichern Ansichten: Ansichtsdateien oder Vorlagendateien speichern bin: speichert ausführbare Dateien Öffnen Sie app.js und sehen wir uns an, was drin ist: var express = erforderlich('express'); var Pfad = erforderlich('Pfad'); var favicon = erforderlich('Serve-Favicon'); var logger = erforderlich('morgan'); var cookieParser = erforderlich('cookie-parser'); var bodyParser = erfordern('body-parser'); var Routen = erfordern('./Routen/Index'); var Benutzer = erforderlich('./routes/users'); var app = express(); //Engine-Setup anzeigen app.set('Ansichten', Pfad.join(__dirname, 'Ansichten')); app.set('Ansichts-Engine', 'ejs'); // entferne das Kommentarzeichen, nachdem du dein Favicon in /public platziert hast //app.use(favicon(__dirname + '/public/favicon.ico')); app.use(logger('dev')); app.verwenden(bodyParser.json()); app.use(bodyParser.urlencoded({ erweitert: false })); app.use(cookieParser()); app.use(express.static(Pfad.join(__dirname, 'public'))); app.use('/', Routen); app.use('/Benutzer', Benutzer); // 404 abfangen und an Fehlerhandler weiterleiten app.use(Funktion(req, res, next) { var err = neuer Fehler('Nicht gefunden'); Fehlerstatus = 404; nächster(Fehler); }); // Fehlerhandler // Entwicklungsfehlerhandler // druckt den Stacktrace wenn (app.get('env') === 'Entwicklung') { app.use(Funktion(err, req, res, next) { res.status(err.status || 500); res.render('Fehler', { Nachricht: Fehlernachricht, Fehler: err }); }); } // Produktionsfehlerhandler // keine Stacktraces an den Benutzer weitergegeben app.use(Funktion(err, req, res, next) { res.status(err.status || 500); res.render('Fehler', { Nachricht: Fehlernachricht, Fehler: {} }); }); modul.exporte = app; Hier verwenden wir require(), um Module wie express und path sowie die Routing-Dateien index.js und users.js im Ordner routes zu laden. Lassen Sie uns die Bedeutung jeder Codezeile erklären. (1) var app = express(): Generiert eine Express-Instanz-App. (2)app.set('views', path.join(__dirname, 'views')): Legt den Ordner „views“ auf das Verzeichnis fest, in dem die Ansichtsdateien gespeichert sind, d. h. in dem die Vorlagendateien gespeichert sind. __dirname ist eine globale Variable, die das Verzeichnis speichert, in dem sich das aktuell ausgeführte Skript befindet. (3)app.set('view engine', 'ejs'): Setzt die Engine der Ansichtsvorlage auf ejs. (4)app.use(favicon(__dirname + '/public/favicon.ico')): Legt /public/favicon.ico als Favicon-Symbol fest. (5)app.use(logger('dev')): Lädt die Protokollierungs-Middleware. (6)app.use(bodyParser.json()): lädt die Middleware zum Parsen von JSON. (7)app.use(bodyParser.urlencoded({ extended: false })): Lädt die Middleware, die den URL-codierten Anforderungstext analysiert. (8)app.use(cookieParser()): Lädt die Middleware zum Parsen von Cookies. (9)app.use(express.static(path.join(__dirname, 'public'))): Legen Sie den öffentlichen Ordner auf das Verzeichnis fest, in dem statische Dateien gespeichert sind. (10) app.use('/', Routen); und app.use('/Benutzer', Benutzer): Routen-Controller. (11) app.use(Funktion(req, res, next) { var err = neuer Fehler('Nicht gefunden'); Fehlerstatus = 404; nächster(Fehler); }); Erfassen Sie 404-Fehler und leiten Sie sie an den Fehlerhandler weiter. (12) wenn (app.get('env') === 'Entwicklung') { app.use(Funktion(err, req, res, next) { res.status(err.status || 500); res.render('Fehler', { Nachricht: Fehlernachricht, Fehler: err }); }); } Der Fehlerhandler in der Entwicklungsumgebung rendert die Fehlermeldung in die Fehlervorlage und zeigt sie im Browser an. (13) app.use(Funktion(err, req, res, next) { res.status(err.status || 500); res.render('Fehler', { Nachricht: Fehlernachricht, Fehler: {} }); }); Fehlerhandler in Produktionsumgebungen geben keine Fehlerinformationen an Benutzer weiter. (14)module.exports = app: Exportieren Sie die App-Instanz, damit andere Module sie aufrufen können. Schauen wir uns die bin/www-Datei noch einmal an: #!/usr/bin/env Knoten var debug = erfordern('debug')('blog'); var app = erfordern('../app'); app.set('Port', process.env.PORT || 3000); var server = app.listen(app.get('port'), function() { debug('Express-Server lauscht auf Port ' + server.address().port); }); (1)#!/usr/bin/env node: zeigt an, dass es sich um die ausführbare Knotendatei handelt. (2)var debug = require('debug')('blog'): Importieren Sie das Debug-Modul und drucken Sie das Debug-Protokoll aus. (3)var app = require('../app'): Importieren Sie die App-Instanz, die wir oben exportiert haben. (4)app.set('port', process.env.PORT || 3000): Legen Sie die Portnummer fest. (5) var server = app.listen(app.get('port'), function() { debug('Express-Server lauscht auf Port ' + server.address().port); }); Starten Sie das Projekt und lauschen Sie auf Port 3000. Bei Erfolg wird der Express-Server gedruckt, der auf Port 3000 lauscht. Schauen wir uns die Datei routes/index.js noch einmal an: var express = erforderlich('express'); var router = express.Router(); /* Homepage abrufen. */ router.get('/', Funktion(req, res) { res.render('index', { title: 'Express' }); }); modul.exporte = Router; Generieren Sie eine Routing-Instanz, um GET-Anfragen für den Zugriff auf die Homepage zu erfassen, exportieren Sie diese Route und laden Sie sie über app.use('/', routes) in app.js. Wenn Sie auf diese Weise die Homepage besuchen, wird res.render('index', { title: 'Express' }); aufgerufen, um die Vorlage views/index.ejs zu rendern und im Browser anzuzeigen. Werfen wir einen Blick auf die Datei views/index.ejs: <!DOCTYPE html> <html> <Kopf> <Titel><%= Titel %></Titel> <link rel='stylesheet' href='/stylesheets/style.css' /> </Kopf> <Text> <h1><%= Titel %></h1> <p>Willkommen bei <%= title %></p> </body> </html> Beim Rendern der Vorlage haben wir eine Variable namens „title“ übergeben, deren Wert die Zeichenfolge „express“ ist. Die Vorlagen-Engine ersetzt alle <%= title %> durch „express“ und zeigt dann das gerenderte HTML im Browser an, wie in der Abbildung oben gezeigt. In diesem Abschnitt haben wir gelernt, wie man ein Projekt erstellt und startet, und haben die allgemeine Struktur und den Betriebsablauf des Projekts verstanden. Im nächsten Abschnitt lernen wir die grundlegende Verwendung der Express- und Routensteuerung. Zusammenfassen Dies ist das Ende dieses Artikels über die Beschreibung und Funktionsbeschreibung des Express-Projektdateiverzeichnisses. Weitere relevante Inhalte zum Express-Projektdateiverzeichnis finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So ändern Sie MySQL-Berechtigungen, um Hosts den Zugriff zu ermöglichen
>>: Detailliertes Beispiel zum Ändern des Linux-Kontokennworts
Was ist wxs? wxs (WeiXin Script) ist eine Skripts...
Die wesentlichen Inhalte dieses Artikels sind wie...
Vorwort Kommen wir gleich zur Sache. Die folgende...
Ergebnisse erzielenImplementierungscode html <...
Das Spring Boot-Projekt verwendet Docker-Containe...
MySQL-Basisdatentypen Übersicht über gängige MySQ...
Inhaltsverzeichnis Vorwort Installation und Konfi...
Wie unten dargestellt: #!/usr/bin/env python3.5 p...
In CentOS7 wurden die Berechtigungen der Datei /e...
Ich habe einen falschen MySQL-Befehl eingegeben u...
1. Zusammenfassung: Im Allgemeinen können sie in ...
Inhaltsverzeichnis 1. Boolesche Werte 2. Ausdruck...
Mit der Entwicklung der Internettechnologie werde...
MySQL8.0.12-Installationstutorial, mit allen teil...
Projektszenario: 1. Einschränkungen beim Hochlade...