La ĉefa problemo rilate al sendado de HTML-dosieroj kun Express estas, ke Express ne denaske subtenas servadon de senmovaj dosieroj kiel HTML, CSS kaj JavaScript. Por servi statikajn dosierojn, vi devas uzi mezvaron kiel express.static() aŭ la express.static mezvaron provizitan de la pako serve-static. Ĉi tiu mezprogramo permesos al vi specifi dosierujon kie troviĝas viaj senmovaj dosieroj kaj poste mapi petojn por tiuj dosieroj al tiu dosierujo.
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) => {
// Ĉi tiu linio difinas vojtraktilon por la radika vojo de la aplikaĵo. Kiam peto estas farita al la radika vojo, ĉi tiu revokfunkcio estos ekzekutita kun req kaj res objektoj kiel ĝiaj argumentoj.
2. res.sendFile(__dirname + '/index.html');
// Ĉi tiu linio uzas la Express-metodon sendFile() por sendi HTML-dosieron situantan ĉe __dirname + '/index.html' al la kliento kiel respondo al ilia peto pri la radika vojo de la aplikaĵo
Kio estas HTML-dosiero
HTML-dosiero estas Hiperteksta Markup Language dosiero, kiu estas uzata por krei retpaĝojn. HTML-dosieroj konsistas el etikedoj kaj atributoj, kiuj difinas la strukturon kaj enhavon de retpaĝo. Ili estas skribitaj en simpla teksto, do ili povas esti malfermitaj kaj redaktitaj per iu ajn tekstredaktilo.
Pri ExpressJS
ExpressJS estas interreta aplikaĵa kadro por Node.js, publikigita kiel libera kaj malfermfonta programaro sub la MIT-Licenco. Ĝi estas desegnita por konstrui TTT-aplikaĵojn kaj APIojn. Ĝi estis nomita la fakta norma servila kadro por Node.js.
ExpressJS provizas fortikan aron de funkcioj por disvolvi retajn kaj moveblajn aplikojn. Ĝi simpligas la procezon de vojigo de petoj, administrado de mezvaroj, bildigo de HTML-paĝoj kaj sendado de respondoj al la klienta flanko. ExpressJS ankaŭ provizas subtenon por ŝablonaj motoroj kiel Jade, EJS kaj Stiriloj.
La kadro ExpressJS baziĝas sur JavaScript kaj uzas arkitekturon MVC (Model-View-Controller) kiu helpas programistojn krei skaleblajn aplikojn facile. Aldone, ĝi permesas al programistoj uzi plurajn datumbazojn kiel MongoDB, Redis, MySQL ktp., kio faciligas konstrui kompleksajn aplikojn.
Kiel mi sendas HTML-dosieron per Express
Por sendi HTML-dosieron per Express, vi devas uzi la metodon res.sendFile(). Ĉi tiu metodo prenas la vojon de la dosiero kiel argumenton kaj sendas ĝin kiel respondon al la kliento.
ekzemple:
app.get('/', (req, res) => {
res.sendFile(__dirnomo + '/index.html');
});