Ang pangunahing problema na nauugnay sa pagpapadala ng mga HTML file gamit ang Express ay hindi native na sinusuportahan ng Express ang paghahatid ng mga static na file gaya ng HTML, CSS, at JavaScript. Upang maghatid ng mga static na file, dapat kang gumamit ng middleware gaya ng express.static() o ang express.static middleware na ibinigay ng serve-static na package. Ang middleware na ito ay magbibigay-daan sa iyo na tumukoy ng isang direktoryo kung saan matatagpuan ang iyong mga static na file at pagkatapos ay i-map ang mga kahilingan para sa mga file na iyon sa direktoryo na iyon.
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) => {
// Tinutukoy ng linyang ito ang isang tagapangasiwa ng ruta para sa root path ng application. Kapag ang isang kahilingan ay ginawa sa root path, ang callback function na ito ay isasagawa kasama ang req at res object bilang mga argumento nito.
2. res.sendFile(__dirname + '/index.html');
// Ang linyang ito ay gumagamit ng Express method sendFile() para magpadala ng HTML file na matatagpuan sa __dirname + '/index.html' sa client bilang tugon sa kanilang kahilingan para sa root path ng application
Ano ang isang HTML file
Ang HTML file ay isang Hypertext Markup Language file, na ginagamit upang lumikha ng mga webpage. Ang mga HTML file ay binubuo ng mga tag at attribute na tumutukoy sa istruktura at nilalaman ng isang webpage. Ang mga ito ay nakasulat sa plain text, kaya maaari silang buksan at i-edit gamit ang anumang text editor.
Tungkol sa ExpressJS
Ang ExpressJS ay isang web application framework para sa Node.js, na inilabas bilang libre at open-source na software sa ilalim ng MIT License. Ito ay dinisenyo para sa pagbuo ng mga web application at API. Ito ay tinatawag na de facto standard na balangkas ng server para sa Node.js.
Nagbibigay ang ExpressJS ng matatag na hanay ng mga feature para bumuo ng mga web at mobile application. Pinapasimple nito ang proseso ng mga kahilingan sa pagruruta, pamamahala ng middleware, pag-render ng mga HTML na pahina at pagpapadala ng mga tugon sa panig ng kliyente. Nagbibigay din ang ExpressJS ng suporta para sa mga template engine tulad ng Jade, EJS at Handlebars.
Ang ExpressJS framework ay batay sa JavaScript at gumagamit ng pattern ng arkitektura ng MVC (Model-View-Controller) na tumutulong sa mga developer na lumikha ng mga scalable na application nang madali. Bukod pa rito, pinapayagan nito ang mga developer na gumamit ng maraming database tulad ng MongoDB, Redis, MySQL atbp., na nagpapadali sa pagbuo ng mga kumplikadong application.
Paano ako magpapadala ng HTML file gamit ang Express
Upang magpadala ng HTML file gamit ang Express, kailangan mong gamitin ang res.sendFile() na paraan. Kinukuha ng pamamaraang ito ang landas ng file bilang argumento at ipinapadala ito bilang tugon sa kliyente.
Halimbawa:
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});