Projects that use Express and other major Node.js HTTP libraries should work out of the box.
If you run into bugs, please file an issue in Bun's repo, not the library. It is Bun's responsibility to address Node.js compatibility issues.
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}...`);
});
Bun implements the node:http
and node:https
modules that these libraries rely on. These modules can also be used directly, though Bun.serve
is recommended for most use cases.
Note — Refer to the Runtime > Node.js APIs page for more detailed compatibility information.
import * as http from "node:http";
http
.createServer(function (req, res) {
res.write("Hello World!");
res.end();
})
.listen(8080);