[Runtime
](../../../index.md)[Package Manager
](../../../pm/cli/install/index.md)[Bundler
](../../../bundler/index.md)[Test Runner
](../../../test/index.md)[Guides
](../../index.md)[Reference
](https://bun.com/reference)[Blog
](https://bun.com/blog)[Feedback
](../../../feedback/index.md)
Express and other major Node.js HTTP libraries should work out of the box. Bun implements the node:http and node:https modules that these libraries rely on.
Refer to the Runtime > Node.js APIs page for more detailed compatibility information.
terminal
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:
terminal
bun server.ts
Was this page helpful?
[
Build an HTTP server using Elysia and Bun
Previous
](../elysia/index.md)[
Build an HTTP server using Hono and Bun
Next
](../hono/index.md)