এক্সপ্রেসের সাথে এইচটিএমএল ফাইল পাঠানোর সাথে সম্পর্কিত প্রধান সমস্যা হল যে এক্সপ্রেস স্থানীয়ভাবে এইচটিএমএল, সিএসএস এবং জাভাস্ক্রিপ্টের মতো স্ট্যাটিক ফাইলগুলিকে পরিবেশন করা সমর্থন করে না। স্ট্যাটিক ফাইল পরিবেশন করার জন্য, আপনাকে অবশ্যই একটি মিডলওয়্যার ব্যবহার করতে হবে যেমন express.static() বা express.static মিডলওয়্যার সার্ভ-স্ট্যাটিক প্যাকেজ দ্বারা প্রদত্ত। এই মিডলওয়্যারটি আপনাকে একটি ডিরেক্টরি নির্দিষ্ট করার অনুমতি দেবে যেখানে আপনার স্ট্যাটিক ফাইলগুলি অবস্থিত এবং তারপর সেই ডিরেক্টরিতে সেই ফাইলগুলির জন্য অনুরোধগুলি ম্যাপ করুন৷
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) => {
// এই লাইনটি অ্যাপ্লিকেশনের রুট পাথের জন্য একটি রুট হ্যান্ডলারকে সংজ্ঞায়িত করে। যখন রুট পাথে একটি অনুরোধ করা হয়, তখন এই কলব্যাক ফাংশনটি তার আর্গুমেন্ট হিসাবে req এবং res অবজেক্টের সাথে কার্যকর করা হবে।
2. res.sendFile(__dirname + '/index.html');
// এই লাইনটি এক্সপ্রেস মেথড sendFile() ব্যবহার করে __dirname + '/index.html' এ অবস্থিত একটি এইচটিএমএল ফাইল পাঠাতে ক্লায়েন্টকে তাদের আবেদনের রুট পাথের অনুরোধের প্রতিক্রিয়া হিসেবে
একটি HTML ফাইল কি
একটি HTML ফাইল একটি হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ ফাইল, যা ওয়েবপেজ তৈরি করতে ব্যবহৃত হয়। এইচটিএমএল ফাইলগুলি ট্যাগ এবং বৈশিষ্ট্যগুলি দ্বারা গঠিত যা একটি ওয়েবপৃষ্ঠার গঠন এবং বিষয়বস্তুকে সংজ্ঞায়িত করে। এগুলি প্লেইন টেক্সটে লেখা হয়, তাই এগুলি যেকোন টেক্সট এডিটর দিয়ে খোলা এবং এডিট করা যায়।
এক্সপ্রেসজেএস সম্পর্কে
ExpressJS হল Node.js-এর জন্য একটি ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক, MIT লাইসেন্সের অধীনে বিনামূল্যে এবং ওপেন-সোর্স সফ্টওয়্যার হিসাবে প্রকাশিত। এটি ওয়েব অ্যাপ্লিকেশন এবং API তৈরির জন্য ডিজাইন করা হয়েছে। এটিকে Node.js এর জন্য ডি ফ্যাক্টো স্ট্যান্ডার্ড সার্ভার ফ্রেমওয়ার্ক বলা হয়েছে।
ExpressJS ওয়েব এবং মোবাইল অ্যাপ্লিকেশন বিকাশের জন্য বৈশিষ্ট্যগুলির একটি শক্তিশালী সেট সরবরাহ করে। এটি রাউটিং অনুরোধ, মিডলওয়্যার পরিচালনা, এইচটিএমএল পেজ রেন্ডারিং এবং ক্লায়েন্ট সাইডে প্রতিক্রিয়া পাঠানোর প্রক্রিয়াকে সহজ করে। ExpressJS এছাড়াও Jade, EJS এবং Handlebars এর মত টেমপ্লেট ইঞ্জিনের জন্য সমর্থন প্রদান করে।
ExpressJS ফ্রেমওয়ার্ক জাভাস্ক্রিপ্টের উপর ভিত্তি করে এবং একটি MVC (মডেল-ভিউ-কন্ট্রোলার) আর্কিটেকচার প্যাটার্ন ব্যবহার করে যা ডেভেলপারদের সহজে মাপযোগ্য অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। উপরন্তু, এটি ডেভেলপারদের একাধিক ডাটাবেস যেমন MongoDB, Redis, MySQL ইত্যাদি ব্যবহার করতে দেয়, যা জটিল অ্যাপ্লিকেশন তৈরি করা সহজ করে তোলে।
কিভাবে আমি এক্সপ্রেস ব্যবহার করে একটি HTML ফাইল পাঠাব?
এক্সপ্রেস ব্যবহার করে একটি HTML ফাইল পাঠাতে, আপনাকে res.sendFile() পদ্ধতি ব্যবহার করতে হবে। এই পদ্ধতিটি একটি আর্গুমেন্ট হিসাবে ফাইলের পথ নেয় এবং ক্লায়েন্টকে প্রতিক্রিয়া হিসাবে পাঠায়।
উদাহরণ:
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});