نحوه ارسال فایل‌های HTML با Express

مقدمه

در برنامه‌های Node.js و Express می‌توان از res.sendFile() برای ارسال فایل‌ها استفاده کرد. ارسال فایل‌های HTML با Express زمانی مفید است که بخواهید صفحات استاتیک (Static Pages) را سرو کنید.

نکته: قبل از نسخهٔ Express 4.8.0 متد res.sendfile() (با حرف کوچک f) پشتیبانی می‌شد، اما این نسخه اکنون منسوخ (deprecated) شده است.

در این مقاله یاد می‌گیرید چگونه از res.sendFile() استفاده کنید.


پیش‌نیازها

برای انجام این آموزش به موارد زیر نیاز دارید:

  • نصب Node.js روی سیستم (می‌توانید با راهنمای نصب Node.js این کار را انجام دهید).

  • این آموزش با نسخه‌های زیر تست شده است:

    • Node v16.0.0

    • npm v7.11.1

    • express v4.17.1


مرحله ۱ — راه‌اندازی پروژه

ابتدا ترمینال را باز کرده و یک پوشهٔ پروژه بسازید:

mkdir express-sendfile-example

سپس وارد پوشه شوید:

cd express-sendfile-example

حالا یک پروژهٔ npm ایجاد کنید:

npm init -y

سپس پکیج express را نصب کنید:

npm install express@4.17.1

در این مرحله پروژهٔ شما آمادهٔ استفاده از Express است.


یک فایل جدید به نام server.js بسازید و در ادیتور باز کنید:

const express = require('express');

const app = express();
const port = process.env.PORT || 8080;

// sendFile will go here

app.listen(port);
console.log(‘Server started at http://localhost:’ + port);

حالا در ترمینال برنامه را اجرا کنید:

node server.js

وقتی مطمئن شدید پروژه درست اجرا می‌شود، می‌توانید از res.sendFile() استفاده کنید.


مرحله ۲ — استفاده از res.sendFile()

دوباره فایل server.js را باز کنید و ماژول path، متد .get() و res.sendFile() را اضافه کنید:

const express = require('express');
const path = require('path');
const app = express();
const port = process.env.PORT || 8080;// sendFile will go here
app.get(‘/’, function(req, res) {
res.sendFile(path.join(__dirname, ‘/index.html’));
});

app.listen(port);
console.log(‘Server started at http://localhost:’ + port);

وقتی درخواستی به سرور ارسال شود، فایل index.html نمایش داده می‌شود.


حالا یک فایل جدید به نام index.html بسازید:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sample Site</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<style>
body { padding-top: 50px; }
</style>
</head>
<body>
<div class=“container”>
<div class=“jumbotron”>
<h1>res.sendFile() Works!</h1>
</div>
</div></body>
</html>

این کد پیام زیر را نمایش می‌دهد:

res.sendFile() Works!

نکته: در این آموزش برای استایل از BootstrapCDN استفاده شده، اما الزامی نیست.


تغییرات را ذخیره کنید و دوباره سرور را اجرا کنید:

node server.js

حالا با باز بودن سرور، در مرورگر به آدرس زیر بروید:

http://localhost:8080

اکنون برنامهٔ شما از res.sendFile() برای سرو کردن فایل‌های HTML استفاده می‌کند.


نتیجه‌گیری

در این مقاله یاد گرفتید چگونه از res.sendFile() استفاده کنید.

از همراهی شما با پارمین کلود سپاسگزاریم.

Click to rate this post!
[Total: 0 Average: 0]

نظرات کاربران

دیدگاهی بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *