mirror of
https://github.com/ArthurDanjou/trpc-nuxt.git
synced 2026-01-19 06:21:44 +01:00
101 lines
1.7 KiB
Markdown
101 lines
1.7 KiB
Markdown
---
|
|
title: Installation
|
|
description: tRPC-Nuxt provides first class integration with tRPC.
|
|
---
|
|
|
|
# Installation
|
|
|
|
## 1. Add to existing Nuxt project
|
|
|
|
::code-group
|
|
|
|
```bash [pnpm]
|
|
pnpm add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod
|
|
```
|
|
|
|
```bash [npm]
|
|
npm install @trpc/server@next @trpc/client@next trpc-nuxt@beta zod
|
|
```
|
|
|
|
```bash [yarn]
|
|
yarn add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod
|
|
```
|
|
|
|
::
|
|
|
|
#### Why @trpc/server?
|
|
|
|
For implementing tRPC endpoints and routers.
|
|
|
|
#### Why @trpc/client?
|
|
|
|
For making typesafe API calls from your client.
|
|
|
|
#### Why zod?
|
|
|
|
Most examples use [Zod](https://github.com/colinhacks/zod) for input validation and tRPC.io highly recommends it, though it isn't required.
|
|
|
|
## 2. Install module
|
|
|
|
This will transpile `trpc-nuxt` and exclude `trpc-nuxt/client` from optimized dependencies by Vite.
|
|
|
|
```ts [nuxt.config.ts]
|
|
export default defineNuxtConfig({
|
|
modules: ['trpc-nuxt/module']
|
|
})
|
|
```
|
|
|
|
## 3. Enable strict mode
|
|
|
|
If you want to use Zod for input validation, make sure you have enabled strict mode:
|
|
|
|
::code-group
|
|
|
|
```json [tsconfig.json]
|
|
{
|
|
"extends": "./.nuxt/tsconfig.json",
|
|
"compilerOptions": {
|
|
"strict": true
|
|
}
|
|
}
|
|
```
|
|
|
|
```ts [nuxt.config.ts]
|
|
export default defineNuxtConfig({
|
|
typescript: {
|
|
strict: true
|
|
}
|
|
})
|
|
```
|
|
|
|
::
|
|
|
|
If strict mode is too much, at least enable `strictNullChecks`:
|
|
|
|
::code-group
|
|
|
|
```json [tsconfig.json]
|
|
{
|
|
"extends": "./.nuxt/tsconfig.json",
|
|
"compilerOptions": {
|
|
"strictNullChecks": true
|
|
}
|
|
}
|
|
```
|
|
|
|
```ts [nuxt.config.ts]
|
|
export default defineNuxtConfig({
|
|
typescript: {
|
|
tsConfig: {
|
|
strictNullChecks: true
|
|
}
|
|
}
|
|
})
|
|
```
|
|
|
|
::
|
|
|
|
## Next Steps
|
|
|
|
Now that you've installed the required dependencies, you are ready to start building your application.
|