Getting Started with Hapi Server.
10/25/2019 • ☕️ 3 min read • JavaScriptNodeJsHapiJs
আপনার প্রথম “Hello World” সার্ভার
এইখানে, আপনি একটি নতুন hapi server তৈরি করবেন। আপনার মেশিনে একটি নতুন প্রজেক্ট ফোল্ডার someproject
তৈরি করুন যাতে প্রয়োজনীয় ফাইল থাকবে।
আপনি যদি linux
অথবা mac
user হন তাহলে terminal open (hit:
Ctrl+Alt+T) করে নিচের command টি run করেন। command টি run করলে current directory তে একটা নতুন folder someproject
তৈরী করবে এবং current directory change করে someproject
directory তে চলে যাবে।
$ mkdir someproject && cd someproject
project এর dependency install করার জন্যে আমরা NPM (node package manager) use করবো যাতে সহজে dependency গুলা install করা যাই।
এখন, npm init
run করতে হবে। এই command run করলে কিছু information চাইবে আমরা default information রেখেই করতে পারি পরে ইচ্ছা হলে change করা যাবে package.json
থেকে।
$ npm init -y # Generate it without having it ask any questions
এখন আপনার project folder এ package.json
add হয়ে গেছে, আপনি এখন project dependency অ্যাড করতে পারবেন। তাহলে hapi project dependency তে অ্যাড করি এবং package.json
এ project dependency হিসাবে save করে রাখি।
$ npm install @hapi/hapi -S # saving hapi as a dependency by adding -S to npm i
বেসিক hapi সার্ভার
নীচে code snippet এ একটি খুব basic server দেখানো হয়েছে। প্রথমত, আপনাকে hapi module require
করতে হবে এবং একটি নতুন Hapi.Server()
শুরু করতে হবে। এরপরে, Server
এর server options
হিসাবে host
এবং port
বলে দিতে হবে ।
এইখানে, IIFE এর মধ্যে server run করার code লিখেছি।
// server.js
const Hapi = require('@hapi/hapi');
(async () => {
// start your server
try {
// create a server with a host and port
const server = new Hapi.Server({
host: 'localhost', port: 3000 });
await server.start();
console.log('Server running at: ', server.info.uri);
}catch (err) {
console.error(err);
}
})(); // IIFE
প্রকৃতপক্ষে, এটি একটি খুব basic hapi server। server.js
নামে একটি file create করুন এবং কোড ওই file এ লিখুন।
# file stracture
|-- node_modules
|-- package.json
|-- server.js
Hello World Route
server run হওয়ার পর একটা route দরকার যেখানে request করলে “Hello World” লেখাটা response হিসাবে পাবো।
server.route({ method: 'GET',
path: '/',
handler: (request, h) => {
return 'Hello World!'; }
});
server.js
file এ route টা add করলে code দেখতে নিচের কোডের মতো হবে।
// server.js
const Hapi = require('@hapi/hapi');
(async () => {
// start your server
try {
// create a server with a host and port
const server = new Hapi.Server({
host: 'localhost',
port: 3000
});
server.route({ method: 'GET', path: '/', handler: (request, h) => { // business logic return 'Hello World!'; } });
await server.start();
console.log('Server running at: ', server.info.uri);
}catch (err) {
console.error(err);
}
})(); // IIFE
এখন, code server.js
file এ save করে run করার পর localhost:3000 এ request করলে response এ Hello World!
লেখা পাওয়া যাবে।
এইখানে method
property যেকোনো valid HTTP method হতে পারে, method একটা array of method ও হতে পারে (e.g: ['GET', 'POST']
)। path
property define করে endpoint URL এই route এর যেখানে request করবেন । আর আপনার route এর main business logic গুলা handler এর মধ্যে লিখতে হবে। handler এ অবশ্যই return করতে হবে তা না হলে error দিবে।
Run the server
project folder এ গিয়ে terminal open করে নিচের command টি run করলে server start হবে।
$ node server.js
অসাধারণ 🎉, আপনি আপনার প্রথম hapi server তৈরি করেছেন 😍!
See The Full Code