Skip to content
This repository has been archived by the owner on Apr 6, 2023. It is now read-only.

docs(server): add nitro config and storage examples #6507

Merged
merged 8 commits into from
Aug 15, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
69 changes: 69 additions & 0 deletions docs/content/2.guide/3.directory-structure/13.server.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,72 @@ head.title: Server directory
# Server directory

::ReadMore{link="/guide/features/server-routes"}

## nitro
pi0 marked this conversation as resolved.
Show resolved Hide resolved

Create a new file in `nitro.config.ts`:

```ts [nitro.config.ts]
import { defineNitroConfig } from 'nitropack'

export default defineNitroConfig({
storage: {
'redis': {
driver: 'redis',
/* redis connector options */
port: 6379, // Redis port
host: "127.0.0.1", // Redis host
username: "", // needs Redis >= 6
password: "",
db: 0, // Defaults to 0
},
}
})
```
danielroe marked this conversation as resolved.
Show resolved Hide resolved

:LinkExample{link="https://nitro.unjs.io/guide/storage.html#defining-mountpoints"}

## Example

Create a new file in `server/api/test.post.ts`:

```ts [/server/api/test.post.ts]
export default async (req, res) => {
await useStorage().setItem('redis:nuxt3-redis', { hello: 'wallet' })
pi0 marked this conversation as resolved.
Show resolved Hide resolved
return 'Success'
}
```

Create a new file in `server/api/test.get.ts`:

```ts [/server/api/test.get.ts]
export default async (req, res) => {
const data = await useStorage().getItem('redis:nuxt3-redis')
return data
}
```

Create a new file in `app.vue`:

```vue [app.vue]
<script setup lang="ts">
const { data: resDataSuccess } = await useFetch(
'/api/test',
{
method: 'post',
body: {
text: 'Welcome To Nuxt3'
}
}
)
const { data: resData } = await useFetch('/api/test')
</script>

<template>
<div>
<div>Post state: {{resDataSuccess}}</div>
<div>Get Data: {{ resData.text }}</div>
</div>
</template>
```