Minder boilerplate, sneller bouwen, zelfde HTTP-principes
express.json().express.static().http. Daardoor snap je nu beter wat Express voor jou automatiseert.
req.method, headers, statuscodes en body-flow begrijpt.http naar Express: hetzelfde gedrag, minder code
// Node http (les 9/10 stijl)
if (req.method === "GET" && req.url === "/messages") {
getAllMessages(res)
} else if (req.method === "POST" && req.url === "/messages") {
// body chunks lezen + JSON.parse + validatie
} else {
res.statusCode = 404
res.end("404")
}
// Express
app.get("/messages", (req, res) => {
getAllMessages(res)
})
app.post("/messages", (req, res) => {
// req.body bestaat al dankzij express.json()
})
mkdir express-auth-app && cd express-auth-app
npm init -y
npm install express sqlite3
mkdir public
# maak server.mjs en public/index.html
package.json:
"type": "module" toevoegen als je import gebruikt.
import express from "express"
const app = express()
const PORT = 3000
app.use(express.json())
app.use(express.static("public"))
app.get("/ping", (req, res) => {
res.json({ ok: true, boodschap: "pong" })
})
app.listen(PORT, () => {
console.log(`Server op http://localhost:${PORT}`)
})
Met deze 2 regels win je meteen tijd: express.json() en express.static().