NODE CUSTOM MODULE
index.js
var mymath = require("./mymodule")
console.log(mymath.add(5,6));
console.log(mymath.sub(5,6));
console.log(mymath.mul(5,6));
console.log(mymath.div(5,6));
console.log(mymath.mod(5,6));
cobj = new mymath.MyCircle(5);
cobj.area();
mymodule.js
exports.add = (x, y) => x + y;
exports.sub = (x, y) => x – y;
exports.mul = (x, y) => x * y;
exports.div = (x, y) => x / y;
exports.mod = (x, y) => x % y;
exports.MyCircle = class {
constructor(r) {
this.radius = r;
console.log("Hello I am My Circle Constructor...");
}
area() {
let area = Math.PI * this.radius * this.radius;
console.log(`Area: ${area.toFixed(2)}`);
}
}
NODE http MODULE
index.js
var http = require(“http”)
http.createServer((req, res) => {
// res.writeHead(‘Content-Type’, ‘text/plain’);
// res.writeHead(‘Content-Type’, ‘application/json’);
res.writeHead(200, {‘Content-Type’ : ‘text/html’});
res.write("this is line 1….");
console.log(req.url);
if(req.url == "/") {
res.write("Home req hit</br>")
} else
if(req.url == "/teacher") {
res.write("Teacher req hit</br>")
} else
if(req.url == "/student") {
res.write("Student req hit</br>")
} else
{
res.end("Page Not Found....");
}
res.end("hello world....");
}).listen(8989, () => {
console.log("listening at port 8989…")
});
EXPRESS ROUTING
index.js
var express = require("express");
var app = express();
app.get("/", (req, res) => {
res.send("Home Page");
});
app.get("/student", (req, res) => {
data = { result: "Student GET Request" };
res.send(data);
});
app.post("/student", (req, res) => {
data = { result: "Student post Request" };
res.send(data);
});
app.put("/student", (req, res) => {
data = { result: "Student put Request" };
res.send(data);
});
app.delete("/student", (req, res) => {
data = { result: "Student delete Request" };
res.send(data);
});
app
.route("/teacher")
.get((req, res) => {
data = { result: "Teacher get Request" };
res.send(data);
})
.post((req, res) => {
data = { result: "Teacher post Request" };
res.send(data);
})
.put((req, res) => {
data = { result: "Teacher put Request" };
res.send(data);
})
.delete((req, res) => {
data = { result: "Teacher delete Request" };
res.send(data);
});
app.listen(8989, () => {
console.log("Listening at port 8989");
});
RUN COMMAND
#if file is index.js then you can simply run using . instead of filename
node .
node app.js
#install nodemon
npm i nodemon
OR
npm i -g nodemon
nodemon .
nodemon app.js
OR
./node_modules/nodemon/bin/nodemon.js .
./node_modules/nodemon/bin/nodemon.js app.js
EXPRESS MODULAR ROUTING
index.js
var express = require("express");
var app = express();
var home = require("./home");
var student = require("./student");
var teacher = require("./teacher");
app.use("/", home);
app.use("/student", student);
app.use("/teacher", teacher);
app.use(function (req, res, next) {
res.status(404);
res.send("404: File Not Found");
});
app.listen(8989, () => {
console.log("Listening at port 8989");
});
student.js
const express = require("express");
const router = express.Router();
router
.route("/")
.get((req, res) => {
res.send("student listing");
})
.post((req, res) => {
res.send("student post");
})
.put((req, res) => {
res.send("student put");
})
.delete((req, res) => {
res.send("student delete");
});
module.exports = router;
teacher.js
const express = require("express");
const router = express.Router();
router
.route("/")
.get((req, res) => {
res.send("teachers listing");
})
.post((req, res) => {
res.send("teachers post");
})
.put((req, res) => {
res.send("teachers put");
})
.delete((req, res) => {
res.send("teachers delete");
});
module.exports = router;
EXPRESS READ DATA
index.js
const express = require("express");
const app = express();
app.use(express.json());
app
.route("/")
.get((req, res) => {
data = req.query;
res.send(data);
})
.post((req, res) => {
data = req.body;
res.send(data);
})
.put((req, res) => {
data = req.body;
res.send(data);
});
app.listen(8989, () => {
console.log("Listening at port 8989");
});
Assignment: WA Web Service to read number from user and return square and cube of that number. Return data in JSON format.
Fetch Api
<table border=1>
<thead>
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th>Aavatar</th>
</thead>
<tbody id="records">
<tr>
<td>sample </td>
<td>sample</td>
<td>sample</td>
<td>sample</td>
</tr>
</tbody>
</table>
<img id="image" />
<script>
url = "https://reqres.in/api/users?page=1";
fetch(url)
.then(res => res.json())
.then(result => {
console.table(result.data);
console.log(result.data[0]['avatar'])
document.getElementById("image").src = result.data[0]['avatar'];
records = result.data;
output = '';
for(i = 0;i<records.length; i++){
output += `<tr>`
output += `<td>${records[i]['id']} </td>`
output += `<td>${records[i]['first_name']} ${records[i]['last_name']}</td>`
output += `<td>${records[i]['email']}</td>`
output += `<td><img id="image" src="${records[i]['avatar']}" /></td>`
output += `</tr>`
console.log(records[i]['id'])
}
document.getElementById("records").innerHTML = output;
})
</script>
Express File Upload
//get directory name
console.log(`Project Path: ${__dirname}`);
const express = require("express");
const fileUpload = require("express-fileupload");
const app = express();
//options / middleware
app.use(fileUpload());
app.post("/file_upload", (req, res) => {
console.log(req.body);
console.log(req.files);
let file_to_upload = req.files.file_to_upload;
//file_to_upload.mv(path,callbackfun);
const upload_path = __dirname + '/uploads/' + file_to_upload.name;
//file_to_upload.mv(upload_path);
file_to_upload.mv(upload_path, (err) => {
if(err) {
res.status(500)
res.send(err);
}
res.status(200)
res.send("File Upload successfully...")
})
});
app.listen(8989, () => {
console.log("Listening at port 8989");
})
json webtoken
var jwt = require('jsonwebtoken');
var express = require("express");
var app = express();
username = "admin";
password = "@dmin";
app.use(express.json());
var cors = require('cors')
app.use(cors())
function errorHandler(req, res, next) {
if (!req.headers.authorization) return res.status(401).send({message:"No token provided"});
const token = req.headers.authorization.replace("Bearer ","");
jwt.verify(token, 'shhhhh', function(err) {
if (err){
res.status(401).send({message: "unauthorized user"});
}
res.send("jwt token is correct");
});
return res.status(500).json({ message: err.message });
}
app.route('/login')
.post((req, res)=>{
if (username==req.body.username && password == req.body.password){
var token = jwt.sign({ u_name: username}, 'shhhhh');
res.send(token);
}else{
res.send("wrong creditionals");
}
})
app.use(errorHandler)
app.route('/dashboard')
.get((req,res)=>{
res.send("dashboard");
})
app.route('/employees')
.get((req,res)=>{
res.send("emloypee page");
})
app.listen(8080,()=>{
console.log("listening at 8080")
});