Reputation: 443
My question is why console.log("after middleware")
is printing only once while app.use(foo)
is calling after every page reload. Does using NodeJS code is interpreted one time after use npm start
in console despite page reload?
const express = require('express')
const app = express()
function foo(req, res, next) {
console.log("middleware1")
next()
}
app.use(foo)
console.log("after middleware");
app.get('/', function(req,res){
res.send("main page")
})
app.listen(3000)
Upvotes: 0
Views: 43
Reputation: 302
A middleware is a function that return a function. Example:
function myCustomMiddleware(x) {
return function (req, res, next) {
// This returned function can access to 'x' variable
console.log(x)
next() // Continue to the controller function.
}
}
app.get('/', myCustomMiddleware("Hello"), function(req,res){
res.send("main page")
})
Upvotes: 0
Reputation: 102
Basically, to simplify it a little, app.use()
is a listener, that is called every time the page is visited. The console.log()
on the other hand is regular code that is called only once, when your code is run.
Upvotes: 2