NodeJs සිංහලෙන් — Firing up a simple nodejs HTTP server
අද අපි කතාකරන්නේ කොහොමද අපි සරලව nodejs භාවිතා කරල HTTP Server එකක් හදාගන්නේ කියන එක ගැන. අපි මීට කලින් ලිපියෙන් කිව්වා nodejs කියන්නෙ server එකක් ඇතුලෙ වැඩකරන javascript කියන එක.ඒ අනුව අපි බලමු කොහොමද සරල http සර්වර් එකක් හදාගන්නෙ කියල.
අපි මේ nodejs server එක implement කරද්දි අපිට මුලින්ම අවශ්ය වෙනවා built-in http/https module එක.මුලින්ම අපි code කරන හැටි බලමු.
//index.js file content
const http = require(‘http’)
const port = 3000
const requestHandler = (request, response) => {
console.log(request.url)
response.end(‘Hello Node.js Server!’)
}
const server = http.createServer(requestHandler)
server.listen(port, (err) => {
if (err) {
return console.log(‘something bad happened’, err)
}
console.log(`server is listening on ${port}`)
})
ඊට පස්සෙ අපි බලමු කොහොමද අපේ server එක start කරගන්නෙ කියලා.අපේ index.js file එක තියෙන directory එකෙන් command prompt වින්ඩෝ එකක් ඕපන් කරගෙන පහලින් තියෙන command එක type කරල enter press කරන්න ඕනෙ.
node server.js
දැන් අපිට අපේ command prompt window එකේ එහෙමත් නැත්තම් අපේ console එකේ අපිට බලාගන්න පුලුවන්
Server is listening on 3000 කියලා.
හරි අපි දැන් අපේ server එක හදාගෙන start කරගෙන තියෙන්නෙ.දන් අපි මේ code එකේ කොටසින් කොටස තේරුම් ගමු.
code එකේ මුලින්ම තියෙන්නෙ http module එක අපේ server එකට import කරපු code එක. ඊට පස්සෙ අපි const එකක් හදාගෙන තියෙනවා අපේ සර්වර් එකේ port එක define කරගන්න.
requestHandler — මේ function එක සර්වර් එකට request ලැබෙන හැම වෙලාවකම invoke වෙනවා නැතිනම් active වෙනවා.
අපිට මේ requestHandler එක check කරගන්න පුලුවන් අපේ server එකට request එකක් යවලා. මුලුන්ම සර්වර් එක start කරලා http://localhost:3000 කියන url එකට යන්න. අපි මේ url එකට ගියාට පස්සෙ browser එකේ සටහන් වෙලා තියෙනවා Hello Node.js Server! කියන එක.
ඇත්තටම මේ වගේ සරල http servers පාවිච්චි කරලා දැනට පවතින වෙබ් අඩවි වගේ සංකීර්ණ වෙබ් අඩවි හදන එක ලොකු කාලයක් වැයවෙන වැඩක් ඒක නිසා අපි සංකීර්ණ වෙබ් අඩවි හදද්දි frameworks පාවිච්චි කරනවා.
-express
-hapi
-koa
-restify
මේවා තමයි බොහොම ජනප්රිය frameworks.අපි මීළඟ ලිපියෙන් කතාකරමු express framework එක ගැන.
Yamika Perera
Undergraduate,University of Kelaniya
Undergraduate(BIT),UCSC