41 lines
904 B
Plaintext
41 lines
904 B
Plaintext
---
|
|
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 in Bun without changes. 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.
|
|
|
|
<Note>See [Node.js compatibility](/runtime/nodejs-compat#node-http) for details.</Note>
|
|
|
|
```sh terminal icon="terminal"
|
|
bun add express
|
|
```
|
|
|
|
---
|
|
|
|
To define an 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
|
|
```
|