--- title: Build an HTTP server using Express and Bun sidebarTitle: Express with Bun mode: center --- Express and other major Node.js HTTP libraries should work out of the box. Bun implements the [`node:http`](https://nodejs.org/api/http.html) and [`node:https`](https://nodejs.org/api/https.html) modules that these libraries rely on. Refer to the [Runtime > Node.js APIs](/runtime/nodejs-compat#node-http) page for more detailed compatibility information. ```sh terminal icon="terminal" bun add express ``` --- To define a simple HTTP route and start a server with Express: ```ts server.ts icon="/icons/typescript.svg" 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`: ```sh terminal icon="terminal" bun server.ts ```