āđāļāļĢāļīāđāļāļāļģ
āļŦāļĨāļēāļĒ āđ āļāļāļāļĩāđāđāļĢāļīāđāļĄāļāđāļāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļ·āđāļāļāļāđāļāļāļēāļāļŠāļāļŠāļąāļĒāļ§āđāļē Express.js āļāļ·āļāļāļ°āđāļĢ āđāļĨāđāļ§āđāļāļĩāđāļĒāļ§āļāļ°āđāļĢāļāļąāļ NodeJS āđāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āļĄāļēāđāļāļĩāļĒāļāļāļķāļāļāļ§āļēāļĄāļĢāļđāđāđāļāļ·āđāļāļāļāđāļāđāļĨāļ°āļāļēāļĢāđāļāđāļāļēāļāļāļąāļāļ§āđāļēāļāļģāđāļĄ Express.js āļāļķāļāđāļāđāļāļāļąāļ§ Framework āļāļĩāđāđāļāđāļĢāļąāļāļāļ§āļēāļĄāļāļīāļĒāļĄāļāļąāļāļāļĒāđāļēāļāđāļāļĢāđāļŦāļĨāļēāļĒāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļēāļāđāļāđāļāđāļēāļĒ āļāļĄāļāļĒāļēāļāļŠāļĢāļļāļāđāļ§āđāđāļŦāđāļāļĢāļ°āļāļąāļāđāļĨāļ°āđāļāđāļēāđāļāļāđāļēāļĒāļŠāļģāļŦāļĢāļąāļāļāļļāļāļāļāļāļ°āļāļĢāļąāļ

Image : Project Structure of RESTFul API with Express.js on Node.js by NottDev
āļāļģāļāļ§āļēāļĄāļĢāļđāđāļāļąāļāļāļąāļ NodeJS āļāļąāļ
NodeJS āļāļđāļāļāđāļēāļĒ āđ āļāļąāļāđāļĨāļĒāļāļ·āļāđāļāđāļ JavaScript Open-Source / Cross-Platform Runtime āđāļāļŠāđāļ§āļāļāļāļ Server / Application āļāļĩāđ Developer āļŠāļēāļĄāļēāļĢāļāđāļāđāđāļāļāđāļāļĄāļđāļĨāđāļāđāļāđāļēāļ JavaScript āļāļąāđāļāđāļāļ āļāļķāđāļāđāļāđāļē NodeJS āļāļĒāđāļēāļāļģāļ§āđāļēāļāđāļāļāļāļ·āļ Programming Language āļŦāļĢāļ·āļ Framework āļāđāļāļāļāļ·āļāļŠāļīāđāļāļāļĩāđāļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļ APIs āļāđāļēāļ āđ āđāļāđ āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļ Web / Mobile Application āļāļ°āđāļŦāđāļāđāļāđāđāļĨāļĒāļ§āđāļēāļāđāļāļāļāļąāđāļāđāļāđāļāļāļĢāļ°āđāļĒāļāļāđāļĄāļēāļ āđ āđāļĨāļĒāļāļĩāđāļāļĩāļĒāļ§
Express.js āđāļāļ·āđāļāļāļĢāļąāļāļāļāļ NodeJS
āđāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļąāļāļĢāļ°āļāļāļŦāļĨāļąāļāļāđāļēāļāļŠāļģāļŦāļĢāļąāļ Backend Developers āļāļąāđāļ āđāļāđāļāļāļāļ§āđāļēāļāđāļāļ NodeJS āļāļāļāđāļĢāļēāļāļąāđāļāđāļāđāļāđāļāđāđāļāļĩāļĒāļāđāļāđāļāļąāļ§āđāļāļ·āđāļāļĄāđāļāļĒ āđ āđāļĄāđāđāļāđ Language āļŦāļĢāļ·āļ Framework āļāļąāļāļāļąāđāļāđāļāļ·āđāļāļāļāļĩāđāļāļ·āđāļāļ§āđāļē Express.js āļāļ°āļĄāļēāļāđāļ§āļĒāļāļ§āļāđāļĢāļēāđāļāļĩāļĒāļāļāļģāđāļŦāđāļāļąāļāļāļēāļĢāļāļąāļāļĢāļ°āļāļāļŦāļĨāļąāļāļāđāļēāļāđāļāđāļāđāļēāļĒāļĄāļēāļāļāļķāđāļāļāļąāđāļāđāļāļ āđāļāļĒāļāļĩāđ Express.js āđāļāđāļ Framework āļāļąāļ§āļŦāļāļķāđāļāļāļāļ NodeJS āļāļĩāđāļāļ°āļāđāļ§āļĒāļāļąāļāļāļēāļĢāđāļĢāļ·āđāļāļāļāļāļ APIs āđāļāđāļāļĒāđāļēāļāļāļĩāđāļĒāļĩāđāļĒāļĄ āļāļąāļ§āļāļĒāđāļēāļāļāļēāļĢāļāļģāļāļēāļāļāļĢāđāļēāļ§ āđ āđāļāđāļ
- āļŠāļēāļĄāļēāļĢāļāđāļāļĩāļĒāļ HTTP Methods āđāļāđāđāļ URL āļāļĩāđāđāļāļāļāđāļēāļāļāļąāļ āđāļĢāļĩāļĒāļāļ§āđāļē Routes
- āļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļ Object āļāļāļ Request , Response āđāļĨāļ° next function āļāļāļ clients āļāļĩāđāļŠāđāļāļāđāļāļĄāļđāļĨāļĄāļēāļŦāļēāđāļĢāļēāđāļāđ āđāļĢāļĩāļĒāļāļ§āđāļē Middlewares
- āļŠāļēāļĄāļēāļĢāļāđāļāđ Template Engines āļŦāļĢāļ·āļ Rendering Data āđāļāđ āđāļāđāļ static templates file āļāļāļŦāļāđāļēāđāļ§āđāļ HTML āļāļķāđāļāļāđāļēāļĒāļāđāļāļāļēāļĢ Maintenance āđāļĨāļ° Design āļŦāļāđāļēāđāļ§āđāļ āļāļķāđāļāđāļāđ Generator āđāļāđāļ view engine
āļāđāļāļāļĩāļŦāļĨāļąāļ āđ āļāļāļ Express.js āļĄāļĩāļāļąāļāļāļĩāđ :
- Performance āļāđāļāļāļāđāļēāļāļāļĩāđāļāļāļēāļĢāļĢāļąāļ Requests āđāļāļāļāđāļāđāļāļ·āđāļāļāļŦāļĨāļēāļĒ āđ āļāļĢāļąāđāļ
- āļĄāļĩ Community āļāļāļ Express.js āļāļĩāđāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļģ APIs , Middleware , Routes āļāđāļēāļ āđ āļĄāļēāđāļāđāļāļēāļāđāļāđāđāļĨāļĒ āļāļķāđāļāļāļ°āļāđāļ§āļĒāļāļĢāļ°āļŦāļĒāļąāļāđāļāđāļāļąāđāļāļāđāļāļāļļāļāđāļĨāļ°āđāļ§āļĨāļē
- āļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāļāļąāļ Database āđāļĨāļ° Front-End āđāļāđ ( āļāļķāđāļāļāļĒāļđāđāļāļąāļ Environment āļāļāļāļāļēāļĢāļāļģāļāļēāļ )
- āļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļ RESTful APIs āđāļāđāļāļĩ āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāđāļāđāļĢāļ·āđāļāļāļāļāļ HTTP Requests , Request Validation āļĢāļ§āļĄāļāļķāļ Response Formatting
āļŠāđāļ§āļāļāđāļāđāļŠāļĩāļĒāļāļāļ Express.js āļĄāļĩāļāļąāļāļāļĩāđ :
- āđāļāļāļēāļāļāļĢāļąāđāļāļāļēāļāđāļĄāđāđāļāđ Support āđāļāļāļ§āļ Specific Projects
- āđāļāđāļĢāļ·āđāļāļ Real-Time Application āļāļēāļāđāļĄāđāļāļāļāđāļāļāļĒāđāļĄāļēāļāđāļāđāļēāđāļŦāļĢāđ āđāļāđ Socket.IO āļāļ°āđāļŦāļĄāļēāļ°āļŠāļĄāļāļ§āđāļē
āļŦāļĨāļąāļāļāļēāļāđāļĢāļēāļĢāļđāđāļāļąāļ Express.js āļĄāļēāļāļāļŠāļĄāļāļ§āļĢ āļāļąāļāļāļąāđāļ āđāļĢāļēāļĄāļēāļĨāļāļāļŠāļĢāđāļēāļāđāļāļĢāđāļāļĢāļĄāđāļāļĒāđāļāđ Express.js āļāđāļ§āļĒāļāļąāļāļāļĢāļąāļ

āļāļīāļāļāļąāđāļ Express.js āļāļąāļāđāļāļāļ°
āđāļŦāđāđāļāļ·āđāļāļ āđ āļāļģāļāļēāļĢāļāļīāļāļāļąāđāļ NodeJS āđāļāđāļāļāļąāļāļāļąāļāđāļĢāļāļāđāļēāļāđāļ§āđāļ https://nodejs.org/en/download āđāļĄāļ·āđāļāļāļīāļāļāļąāđāļāđāļŠāļĢāđāļāđāļĨāđāļ§āļāļģāļāļēāļĢāđāļāļīāļ Terminal āđāļŠāđ File Directory āđāļāđāļāļĨāđāļāļĩāđāđāļĢāļēāļāđāļāļāļāļēāļĢāļĢāļąāļ āđāļĨāļ°āļĢāļąāļāļāļģāļŠāļąāđāļ :
npm init -y
āđāļĄāļ·āđāļāļĢāļąāļāļāļģāļŠāļąāđāļāļāđāļēāļāļāļāđāļŠāļĢāđāļāđāļĢāļĩāļĒāļāļĢāđāļāļĒāđāļĨāđāļ§āļāļ°āļĄāļĩāļāļąāļ§ package.json āļĄāļēāļŦāļāļķāđāļāđāļāļĨāđâ āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļīāļāļāļąāđāļ Express.js āđāļāđāļāđāļēāļāļāļģāļŠāļąāđāļāđāļ Terminal āđāļāđāļāļąāļāļāļĩāđ :
npm install express
āđāļĄāļ·āđāļāļāļīāļāļāļąāđāļāđāļŠāļĢāđāļāđāļĢāļĩāļĒāļāļĢāđāļāļĒāđāļĨāđāļ§ āđāļĢāļēāļĄāļēāļĨāļāļāļŠāļĢāđāļēāļ Program āđāļĢāļāļāļāļāđāļĢāļēāļāļąāļāļāļĢāļąāļ ( āļŠāļĄāļĄāļāļīāļ§āđāļēāđāļāļĨāđāļāļāļāđāļĢāļēāļāļ·āđāļāļ§āđāļē myApp.js ) :
const express = require('express'); //āđāļĢāļĩāļĒāļāđāļāđ express āļāđāļēāļ require
const myApp = express(); //āļŠāļĢāđāļēāļāļāļąāļ§āđāļāļĢ myApp āđāļāļ·āđāļāđāļāđāļāļēāļ express
const port = 3000; //āļāļāļĢāđāļāļāļāļ Server āļāļĩāđāđāļāđāđāļāļāļēāļĢāđāļāļīāļ Localhost
myApp.get('/', (req, res) => {
res.send('Hello World!');
});
myApp.listen(port, () => {
console.log(`Server running at <http://localhost>:${port}/`);
});
āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļĢāļąāļ Code āļāļāļāđāļĢāļēāļāđāļēāļāļāļģāļŠāļąāđāļ node <filename>.js āļāļąāđāļāđāļāļ :
node myApp.js
Output āļāļāļ Code āļāļĩāđāļāļāļāļĄāļē :
Server running at <http://localhost:3000/>
āļāļēāļ Code āļāļāļāđāļĢāļēāļāļ°āđāļŦāđāļāđāļāđāļ§āđāļēāđāļĄāļ·āđāļāđāļĢāļēāđāļāđāļēāđāļāļāļĩāđ localhost:3000 āļāļ°āđāļŦāđāļāļāļąāļ§ Plain Text āļāļģāļ§āđāļē Hello World! āļāļĒāļđāđāļāļāđāļ§āđāļāļāļāļāđāļĢāļēāļāļąāđāļāđāļāļ āđāļĒāđ ! āđāļāđāļŠāļģāļŦāļĢāļąāļāļāļąāļ§ Path āļāļ·āđāļ āđ āļāļāļāđāļŦāļāļ·āļāļāļēāļāļāļĩāđāļāļ°āļāļķāđāļāļ§āđāļē 404

āđāļŦāļĨāđāļāļāļĩāđāļĄāļē : āļāļąāđāļāļāļāļāļāļēāļĢāļāļģāļāļēāļ Express āđāļāļĒ Jax Wu (BigNerdCoding)
āļŠāļĢāļļāļ
āđāļĢāļēāđāļāđāļāļđāļāļāļķāļāļāļīāļĒāļēāļĄāļ§āđāļē NodeJS āđāļĨāļ° Express.js āļāļ·āļāļāļ°āđāļĢ āđāļāļĩāđāļĒāļ§āļāđāļāļāđāļĨāļ°āļāļģāļāļēāļāļāļąāļāļāļĒāđāļēāļāđāļĢ āđāļāļĒāļāļĩāđ Express.js āļāļąāđāļāđāļāđāļ Framework āļāļĩāđāļŠāļēāļĄāļēāļĢāļāļāļąāļāļāļēāļāļąāļ§āļāļāļ Web Application / Mobile Application āļŦāļĢāļ·āļāļĢāļ°āļāļāļŦāļĨāļąāļāļāđāļēāļāļāđāļēāļ āđ āđāļāđāļāļĒāđāļēāļāļāđāļēāļĒāļāļķāđāļāļāļąāđāļāđāļāļ
āļāļāđāļāđāļĨāđāļ§āļāļ°āļāļĢāļąāļāļŠāļģāļŦāļĢāļąāļāļāļāļāļ§āļēāļĄāļāļ·āđāļāļāļēāļāđāļĨāļ°āļāļēāļĢāđāļāđāļāļēāļāļāļāļ Express.js āļŦāļ§āļąāļāļ§āđāļēāđāļāļ·āđāļāļ āđ āļāļĩāđāđāļāļēāļĄāļēāļāđāļēāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āļŠāļēāļĄāļēāļĢāļāđāļāđāļēāđāļāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļĢāļ°āļĒāļļāļāļāđāļāļąāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļāļāļāļļāļāļāļāđāļāđ
āļŠāļģāļŦāļĢāļąāļāđāļāļĢāļāļĩāđāļŠāļāđāļāļĻāļķāļāļĐāļēāļāđāļāđāļāđāļĢāļ·āđāļāļāļāļāļāļāļēāļĢāļāļąāļāļāļē Web Application āđāļāļĒāđāļāđ NodeJS āđāļĨāļ° Express.js āļŠāļēāļĄāļēāļĢāļāđāļĢāļĩāļĒāļāļāļāļĢāđāļŠāļāļĢāļĩāļāļēāļāļŠāļāļēāļāļąāļ BorntoDev āđāļāđāļāļĩāđ https://school.borntodev.com/course/introduction-to-web-app-development-with-nodejs-express āđāļāļ·āđāļāđāļāđāļāđāļāļĒāļāļāļāļ§āļēāļĄāļĢāļđāđāļāļāļāđāļāļ·āđāļāļ āđ āđāļāđāļāļąāđāļāđāļāļ
āļŠāļļāļāļāđāļēāļĒāļāļĩāđāļāļāđāļŦāđāđāļāļ·āđāļāļ āđ āļāļļāļāļāļāļāļīāļāļāļąāļāļāđāļāļĒ āđ āđāļĨāļ°āļĄāļĩāļāļ§āļēāļĄāļŠāļļāļāđāļāļāļļāļāļ§āļąāļāļāļ°āļāļĢāļąāļ ð
References
- https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction
- https://expressjs.com/
- https://www.geeksforgeeks.org/introduction-to-express/
- https://www.geeksforgeeks.org/node-js-introduction/