Node.js lets you run JavaScript on the server side, making it great for building fast, scalable backend applications. ๐
1๏ธโฃ What is Node.js?
Node.js is a runtime built on Chrome's V8 JavaScript engine. It enables running JS outside the browser, mainly for backend development. ๐ฅ๏ธ
2๏ธโฃ Why Use Node.js?
- Fast & non-blocking (asynchronous) โก
- Huge npm ecosystem ๐ฆ
- Same language for frontend & backend ๐
- Ideal for APIs, real-time apps, microservices ๐ฌ
3๏ธโฃ Core Concepts:
- Modules: Reusable code blocks (e.g.,
fs, http, custom modules) ๐งฉ- Event Loop: Handles async operations โณ
- Callbacks & Promises: For non-blocking code ๐ค
4๏ธโฃ Basic Server Example:
const http = require('http');
http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello, Node.js!');
}).listen(3000); // Server listening on port 30005๏ธโฃ npm (Node Package Manager):
Install libraries like Express, Axios, etc.
npm init
npm install express
6๏ธโฃ Express.js (Popular Framework):
const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('Hello World!'));
app.listen(3000, () => console.log('Server running on port 3000'));7๏ธโฃ Working with JSON & APIs:
app.use(express.json()); // Middleware to parse JSON body
app.post('/data', (req, res) => {
console.log(req.body); // Access JSON data from request body
res.send('Received!');
});
8๏ธโฃ File System Module (fs):
const fs = require('fs');
fs.readFile('file.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data); // Content of file.txt
});9๏ธโฃ Middleware in Express:
Functions that run before reaching the route handler.
app.use((req, res, next) => {
console.log('Request received at:', new Date());
next(); // Pass control to the next middleware/route handler
});๐ Real-World Use Cases:
- REST APIs ๐
- Real-time apps (chat, notifications) ๐ฌ
- Microservices ๐๏ธ
- Backend for web/mobile apps ๐ฑ
๐ก Tip: Once you're confident, explore MongoDB, JWT auth, and deployment with platforms like Vercel or Render.
๐ฌ Tap โค๏ธ for more!