# Skapa ett projekt för en webbserver
```
status: alpha
author: krm
created: 2024-04-28
```

# 👁️‍🗨️ Om detta avsnitt

Förklarar hur vi skapar ett enkelt webbserver som vi kan använda för 
att utveckla mer program. Vi utgåt från klar ställningstaganden ifråga 
om arbesflöde och kodningstil för att det ska var enkelt att använda 
dem utan att tänka på detaljer. Men de är lätta att modifiera om det 
skulle behövas.


# 📚 Teknologier som används

Du behöver ha dessa program varor:

- Linux OS eller liknade system
- deno

# 🏗️🗄 Bakgrund

Du kanske vill repetera dessa guider.

- [Om att starta ett projekt](https://htsit.se/a/project/Tutorial/start-a-project.sv.html) 

# 🏷 Namn som används

- 🏷 **MITT_PROJEKT** Namnet på mitt projekt.
- 🏷 **EDITOR** Namnet på en editor för att editera små filer, t.ex. *geany*.

# 🧭 Vad är ett projekt?

Vi skapa projekt för att kunna utveckla något. I detta fall är det en 
webbserver.

# 1. Skapa en map för din kod

Du vill ha en mapp för din kod om du inte redan har gjort det.

```sh
mkdir src/
```

# 2. Skapa en fil main.ts

Du ska utgå från denna i resten av projektet.

```bash
EDITOR src/main.ts &
```

Du kan också skpa den i en filhanteraren så som finns i VSCode.


# 3. Beskriv hur filen ska köras

Lägg till ett komando högst upp i filen.

```js
#!/usr/bin/env -S deno serve -A --unstable-kv
```

# 4. Gör filen körbar

Du behöver nu göra filen körbar. Ge följande komandot i terminalen.

```sh
chmod u+x main.ts
```

# 5. Importera en webbserver ramverk

Vi ska nu importera "Hono" server genom aatt skriva detta högst upp i 
main filen.

```sh
import { Hono } from "jsr:@hono/hono";
```

# 6. Skapa ett webbserver object

Skap ny ett objekt för webbservern som vi kan manipulera.

```js
const app = new Hono();
```

# 7. Gör ett enkel respons

Skap ny ett objekt för webbservern som vi kan manipulera.

```js
app.get("/hej", (c:any) => {
	return c.html("<h1>Hello!</h1>");
});
```

# 8. Sätt upp en server

Vi exporterar nu servern så deno kan starta den.

```js
export default app;
```



# 9. ✔️ Starta din server och se att den fungerar

Starta servere och gå sedan in på URL:n som servern visar med en 
webbläsare.

```sh
./src/main.ts
```

# 10. ✔️ Testa göra ett anrop till servern

Öppna länken [http://localhost:8000/hej]( http://localhost:8000/hej). 
Du borde nu få se en webbsida som säger "Hello!"·

