Express and other major Node.js HTTP libraries should work in Bun without changes. Bun implements the node:http and node:https modules that these libraries rely on.
See Node.js compatibility for details.
bun add express
To define an HTTP route and start a server with Express:
server.ts
import express from "express";
const app = express();
const port = 8080;
app.get("/", (req, res) => {
res.send("Hello World!");
});
app.listen(port, () => {
console.log(`Listening on port ${port}...`);
});
To start the server on localhost:
bun server.ts