Nuxt/docs/3.api/5.commands/add.md

100 lines
1.9 KiB
Markdown

---
title: "nuxi add"
description: "Scaffold an entity into your Nuxt application."
---
# `nuxi add`
```{bash}
npx nuxi add [--cwd] [--force] <TEMPLATE> <NAME>
```
Option | Default | Description
-------------------------|-----------------|------------------
`TEMPLATE` | - | Specify a template of the file to be generated.
`NAME` | - | Specify a name of the file that will be created.
`--cwd` | `.` | The directory of the target application.
`--force` | `false` | Force override file if it already exists.
**Modifiers:**
Some templates support additional modifier flags to add a suffix (like `.client` or `.get`) to their name.
**Example:** `npx nuxi add plugin sockets --client` generates `/plugins/sockets.client.ts`.
## `nuxi add component`
* Modifier flags: `--mode client|server` or `--client` or `--server`
Example:
```bash
# Generates `components/TheHeader.vue`
npx nuxi add component TheHeader
```
## `nuxi add composable`
Example:
```bash
# Generates `composables/foo.ts`
npx nuxi add composable foo
```
## `nuxi add layout`
Example:
```bash
# Generates `layouts/custom.vue`
npx nuxi add layout custom
```
## `nuxi add plugin`
* Modifier flags: `--mode client|server` or `--client`or `--server`
Example:
```bash
# Generates `plugins/analytics.ts`
npx nuxi add plugin analytics
```
## `nuxi add page`
Example:
```bash
# Generates `pages/about.vue`
npx nuxi add page about
```
```bash
# Generates `pages/category/[id].vue`
npx nuxi add page "category/[id]"
```
## `nuxi add middleware`
* Modifier flags: `--global`
Example:
```bash
# Generates `middleware/auth.ts`
npx nuxi add middleware auth
```
## `nuxi add api`
* Modifier flags: `--method` (can accept `connect`, `delete`, `get`, `head`, `options`, `patch`, `post`, `put` or `trace`) or alternatively you can directly use `--get`, `--post`, etc.
Example:
```bash
# Generates `server/api/hello.ts`
npx nuxi add api hello
```