Principala problemă legată de trimiterea fișierelor HTML cu Express este că Express nu acceptă în mod nativ difuzarea fișierelor statice precum HTML, CSS și JavaScript. Pentru a servi fișiere statice, trebuie să utilizați un middleware precum express.static() sau un middleware express.static furnizat de pachetul serve-static. Acest middleware vă va permite să specificați un director în care se află fișierele dvs. statice și apoi să mapați cererile pentru acele fișiere în acel director.
To send an HTML file with Express, you can use the res.sendFile() method. This method takes the path of the file as its argument and sends it to the client. Example: app.get('/', (req, res) => { res.sendFile(__dirname + '/index.html'); });
1. app.get('/', (req, res) => {
// Această linie definește un handler de rută pentru calea rădăcină a aplicației. Când se face o cerere către calea rădăcină, această funcție de apel invers va fi executată cu obiectele req și res ca argumente.
2. res.sendFile(__dirname + '/index.html');
// Această linie folosește metoda Express sendFile() pentru a trimite clientului un fișier HTML situat la __dirname + '/index.html' ca răspuns la cererea acestuia pentru calea rădăcină a aplicației
Ce este un fișier HTML
Un fișier HTML este un fișier Hypertext Markup Language, care este utilizat pentru a crea pagini web. Fișierele HTML sunt alcătuite din etichete și atribute care definesc structura și conținutul unei pagini web. Sunt scrise în text simplu, astfel încât pot fi deschise și editate cu orice editor de text.
Despre ExpressJS
ExpressJS este un cadru de aplicații web pentru Node.js, lansat ca software gratuit și open-source sub licența MIT. Este conceput pentru a construi aplicații web și API-uri. Acesta a fost numit cadru de server standard de facto pentru Node.js.
ExpressJS oferă un set robust de caracteristici pentru a dezvolta aplicații web și mobile. Simplifică procesul de direcționare a cererilor, gestionarea middleware-ului, redarea paginilor HTML și trimiterea răspunsurilor către client. ExpressJS oferă, de asemenea, suport pentru motoarele de șablon precum Jade, EJS și ghidon.
Cadrul ExpressJS se bazează pe JavaScript și utilizează un model de arhitectură MVC (Model-View-Controller) care îi ajută pe dezvoltatori să creeze aplicații scalabile cu ușurință. În plus, permite dezvoltatorilor să folosească mai multe baze de date, cum ar fi MongoDB, Redis, MySQL etc., ceea ce facilitează construirea de aplicații complexe.
Cum trimit un fișier HTML folosind Express
Pentru a trimite un fișier HTML folosind Express, trebuie să utilizați metoda res.sendFile(). Această metodă ia calea fișierului ca argument și o trimite ca răspuns clientului.
Exemplu:
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});