mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-25 07:05:11 +00:00
parent
c420e46efe
commit
4c17b92b66
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
@ -30,6 +30,9 @@ jobs:
|
|||||||
- name: Lint
|
- name: Lint
|
||||||
run: yarn lint
|
run: yarn lint
|
||||||
|
|
||||||
|
- name: Lint (docs)
|
||||||
|
run: yarn lint:docs
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
12
.markdownlint.yml
Normal file
12
.markdownlint.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Default state for all rules
|
||||||
|
default: true
|
||||||
|
# Disable max line length
|
||||||
|
MD013: false
|
||||||
|
# Allow duplicated heading for different sections
|
||||||
|
MD024:
|
||||||
|
allow_different_nesting: true
|
||||||
|
siblings_only: true
|
||||||
|
# Allow multiple top-level headings
|
||||||
|
MD025: false
|
||||||
|
# Allow inline HTML
|
||||||
|
MD033: false
|
4
.markdownlintignore
Normal file
4
.markdownlintignore
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
**/node_modules
|
||||||
|
|
||||||
|
docs/content/index.md
|
||||||
|
docs/content/**/15.nuxt.config.md
|
@ -28,9 +28,10 @@ Next, decide whether to start from scratch or upgrade an existing Nuxt 2 project
|
|||||||
### Starting a fresh Nuxt project
|
### Starting a fresh Nuxt project
|
||||||
|
|
||||||
::list{type=info}
|
::list{type=info}
|
||||||
- Enjoy using Vue 3
|
|
||||||
- All the new composables are available
|
* Enjoy using Vue 3
|
||||||
- New templating system and conventions are enabled
|
* All the new composables are available
|
||||||
|
* New templating system and conventions are enabled
|
||||||
::
|
::
|
||||||
|
|
||||||
::alert{icon=👉}
|
::alert{icon=👉}
|
||||||
@ -42,12 +43,13 @@ Checkout the [Installation section](/getting-started/installation).
|
|||||||
If you have an existing Nuxt 2 project, we **strongly recommend** you begin by using Nuxt Bridge. This way you can try most new features while keeping breaking changes to a minimum.
|
If you have an existing Nuxt 2 project, we **strongly recommend** you begin by using Nuxt Bridge. This way you can try most new features while keeping breaking changes to a minimum.
|
||||||
|
|
||||||
::list{type=info}
|
::list{type=info}
|
||||||
- It's risk free! You can always remove the module from your config
|
|
||||||
- Makes your project (almost) ready for Nuxt 3
|
* It's risk free! You can always remove the module from your config
|
||||||
- Enjoy new DX improvements without major rewrites for Vue 3
|
* Makes your project (almost) ready for Nuxt 3
|
||||||
- Use Nitro engine for platform-agnostic and optimized deployments
|
* Enjoy new DX improvements without major rewrites for Vue 3
|
||||||
- Help us stabilize Nuxt 3 and discover flaws
|
* Use Nitro engine for platform-agnostic and optimized deployments
|
||||||
- Nuxt Bridge is more stable than Nuxt 3 at the moment
|
* Help us stabilize Nuxt 3 and discover flaws
|
||||||
|
* Nuxt Bridge is more stable than Nuxt 3 at the moment
|
||||||
::
|
::
|
||||||
|
|
||||||
::alert{icon=👉}
|
::alert{icon=👉}
|
||||||
@ -56,7 +58,7 @@ Checkout the [Bridge installation section](/getting-started/bridge).
|
|||||||
|
|
||||||
### Comparison
|
### Comparison
|
||||||
|
|
||||||
In the table below, there is a quick comparison between 3 versions of nuxt:
|
In the table below, there is a quick comparison between 3 versions of Nuxt:
|
||||||
|
|
||||||
Feature / Version | Nuxt 2 | Nuxt Bridge | Nuxt 3
|
Feature / Version | Nuxt 2 | Nuxt Bridge | Nuxt 3
|
||||||
-------------------------|-----------------|------------------|---------
|
-------------------------|-----------------|------------------|---------
|
||||||
|
@ -11,8 +11,8 @@ Learn more in [Introduction](/getting-started/introduction).
|
|||||||
|
|
||||||
You can start playing with Nuxt 3 in your browser using our online sandboxes:
|
You can start playing with Nuxt 3 in your browser using our online sandboxes:
|
||||||
|
|
||||||
:button-link[Play on StackBlitz]{href=https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz blank}
|
:button-link[Play on StackBlitz]{href="https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz" blank}
|
||||||
:button-link[Play on CodeSandBox]{href=https://codesandbox.io/s/github/nuxt/starter/tree/v3-codesandbox blank}
|
:button-link[Play on CodeSandBox]{href="https://codesandbox.io/s/github/nuxt/starter/tree/v3-codesandbox" blank}
|
||||||
|
|
||||||
## New project
|
## New project
|
||||||
|
|
||||||
@ -31,12 +31,15 @@ code -r nuxt3-app
|
|||||||
Install the dependencies:
|
Install the dependencies:
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```bash [Yarn]
|
```bash [Yarn]
|
||||||
yarn install
|
yarn install
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash [NPM]
|
```bash [NPM]
|
||||||
npm install
|
npm install
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
## Development server
|
## Development server
|
||||||
@ -44,16 +47,19 @@ npm install
|
|||||||
Now you'll be able to use `yarn dev` to start your nuxt app in development mode:
|
Now you'll be able to use `yarn dev` to start your nuxt app in development mode:
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```bash [Yarn]
|
```bash [Yarn]
|
||||||
yarn dev -o
|
yarn dev -o
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash [NPM]
|
```bash [NPM]
|
||||||
npm run dev -- -o
|
npm run dev -- -o
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
::alert{type=success icon=✨ .font-bold}
|
::alert{type=success icon=✨ .font-bold}
|
||||||
Well done! A browser window should automatically open for http://localhost:3000
|
Well done! A browser window should automatically open for <http://localhost:3000>
|
||||||
::
|
::
|
||||||
|
|
||||||
## Next steps
|
## Next steps
|
||||||
|
@ -11,14 +11,11 @@ Bridge is a forward-compatibility layer that allows you to experience many of ne
|
|||||||
|
|
||||||
Using Nuxt Bridge, you can make sure your project is (almost) ready for Nuxt 3 and have the best developer experience without needing a major rewrite or risk breaking changes.
|
Using Nuxt Bridge, you can make sure your project is (almost) ready for Nuxt 3 and have the best developer experience without needing a major rewrite or risk breaking changes.
|
||||||
|
|
||||||
|
## Upgrade Nuxt 2
|
||||||
|
|
||||||
### Upgrade Nuxt 2
|
Remove any package lock files (`package-lock.json` and `yarn.lock`) and use the latest `nuxt-edge`:
|
||||||
|
|
||||||
Remove any package lockfiles (`package-lock.json` and `yarn.lock`) and use the latest `nuxt-edge`:
|
```diff [package.json]
|
||||||
|
|
||||||
**package.json**
|
|
||||||
|
|
||||||
```diff
|
|
||||||
- "nuxt": "^2.15.0"
|
- "nuxt": "^2.15.0"
|
||||||
+ "nuxt-edge": "latest"
|
+ "nuxt-edge": "latest"
|
||||||
```
|
```
|
||||||
@ -26,36 +23,42 @@ Remove any package lockfiles (`package-lock.json` and `yarn.lock`) and use the l
|
|||||||
Then, reinstall your dependencies:
|
Then, reinstall your dependencies:
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```bash [Yarn]
|
```bash [Yarn]
|
||||||
yarn install
|
yarn install
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash [NPM]
|
```bash [NPM]
|
||||||
npm install
|
npm install
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
::alert
|
::alert
|
||||||
Once the installation is complete, make sure both development and production builds are working as expected before proceeding.
|
Once the installation is complete, make sure both development and production builds are working as expected before proceeding.
|
||||||
::
|
::
|
||||||
|
|
||||||
### Install Nuxt Bridge
|
## Install Nuxt Bridge
|
||||||
|
|
||||||
Install `@nuxt/bridge-edge` as a development dependency:
|
Install `@nuxt/bridge-edge` as a development dependency:
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```bash [Yarn]
|
```bash [Yarn]
|
||||||
yarn add --dev @nuxt/bridge@npm:@nuxt/bridge-edge
|
yarn add --dev @nuxt/bridge@npm:@nuxt/bridge-edge
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash [NPM]
|
```bash [NPM]
|
||||||
npm install -D @nuxt/bridge@npm:@nuxt/bridge-edge
|
npm install -D @nuxt/bridge@npm:@nuxt/bridge-edge
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
### Update your scripts
|
## Update your scripts
|
||||||
|
|
||||||
You will also need to update your scripts within your `package.json` to reflect the fact that Nuxt will now produce a Nitro server as build output.
|
You will also need to update your scripts within your `package.json` to reflect the fact that Nuxt will now produce a Nitro server as build output.
|
||||||
|
|
||||||
#### Nuxi
|
### Nuxi
|
||||||
|
|
||||||
Nuxt 3 introduced the new Nuxt CLI command [`nuxi`](/getting-started/commands/). Update your scripts as follows to leverage the better support from Nuxt Bridge:
|
Nuxt 3 introduced the new Nuxt CLI command [`nuxi`](/getting-started/commands/). Update your scripts as follows to leverage the better support from Nuxt Bridge:
|
||||||
|
|
||||||
@ -72,11 +75,11 @@ Nuxt 3 introduced the new Nuxt CLI command [`nuxi`](/getting-started/commands/).
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Static target
|
### Static target
|
||||||
|
|
||||||
If you have set `target: 'static'` in your `nuxt.config` then you need to ensure that you update your build script to be `nuxi generate`.
|
If you have set `target: 'static'` in your `nuxt.config` then you need to ensure that you update your build script to be `nuxi generate`.
|
||||||
|
|
||||||
```json
|
```json [package.json]
|
||||||
{
|
{
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "nuxi generate"
|
"build": "nuxi generate"
|
||||||
@ -84,11 +87,11 @@ If you have set `target: 'static'` in your `nuxt.config` then you need to ensure
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Server target
|
### Server target
|
||||||
|
|
||||||
For all other situations, you can use the `nuxi build` command.
|
For all other situations, you can use the `nuxi build` command.
|
||||||
|
|
||||||
```json
|
```json [package.json]
|
||||||
{
|
{
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "nuxi build",
|
"build": "nuxi build",
|
||||||
@ -97,7 +100,7 @@ For all other situations, you can use the `nuxi build` command.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Update `nuxt.config`
|
## Update `nuxt.config`
|
||||||
|
|
||||||
Please make sure to avoid any CommonJS syntax such as `module.exports`, `require` or `require.resolve` in your config file. It will soon be deprecated and unsupported.
|
Please make sure to avoid any CommonJS syntax such as `module.exports`, `require` or `require.resolve` in your config file. It will soon be deprecated and unsupported.
|
||||||
|
|
||||||
@ -111,53 +114,60 @@ export default defineNuxtConfig({
|
|||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
### Update `tsconfig.json`
|
## Update `tsconfig.json`
|
||||||
|
|
||||||
If you are using TypeScript, you can edit your `tsconfig.json` to benefit from autogenerated Nuxt types:
|
If you are using TypeScript, you can edit your `tsconfig.json` to benefit from auto-generated Nuxt types:
|
||||||
|
|
||||||
**tsconfig.json**
|
```diff [tsconfig.json]
|
||||||
|
|
||||||
```diff
|
|
||||||
{
|
{
|
||||||
+ "extends": "./.nuxt/tsconfig.json",
|
+ "extends": "./.nuxt/tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Avoid CommonJS syntax
|
## Avoid CommonJS syntax
|
||||||
|
|
||||||
Nuxt 3 natively supports TypeScript and ECMAScript Modules.
|
Nuxt 3 natively supports TypeScript and ECMAScript Modules.
|
||||||
|
|
||||||
#### Update the imports
|
### Update the imports
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```js [Before]
|
```js [Before]
|
||||||
const lib = require('lib')
|
const lib = require('lib')
|
||||||
```
|
```
|
||||||
|
|
||||||
```js [After]
|
```js [After]
|
||||||
import lib from 'lib'
|
import lib from 'lib'
|
||||||
// or using code-splitting
|
// or using code-splitting
|
||||||
const lib = await import('lib').then(e => e.default || e)
|
const lib = await import('lib').then(e => e.default || e)
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
#### Update the exports
|
### Update the exports
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```js [Before]
|
```js [Before]
|
||||||
module.exports = ...
|
module.exports = ...
|
||||||
```
|
```
|
||||||
|
|
||||||
```js [After]
|
```js [After]
|
||||||
export default ...
|
export default ...
|
||||||
// or using named export
|
// or using named export
|
||||||
export const hello = ...
|
export const hello = ...
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
#### Avoid using specific CJS syntax
|
### Avoid using specific CJS syntax
|
||||||
|
|
||||||
Avoid the usage of `__dirname` and `__filename` as much as possible.
|
Avoid the usage of `__dirname` and `__filename` as much as possible.
|
||||||
|
|
||||||
### Remove incompatible and obsolete modules
|
## Remove incompatible and obsolete modules
|
||||||
|
|
||||||
- Remove `@nuxt/content` (1.x). A rewrite for nuxt 3 is planned (2.x)
|
- Remove `@nuxt/content` (1.x). A rewrite for nuxt 3 is planned (2.x)
|
||||||
- Remove `nuxt-vite`: Bridge enables same functionality
|
- Remove `nuxt-vite`: Bridge enables same functionality
|
||||||
@ -166,11 +176,11 @@ Avoid the usage of `__dirname` and `__filename` as much as possible.
|
|||||||
- Remove `@nuxt/nitro`: Bridge injects same functionality
|
- Remove `@nuxt/nitro`: Bridge injects same functionality
|
||||||
- Remove `@nuxtjs/composition-api` from your dependencies (and from your modules in `nuxt.config`). Bridge provides a legacy composition API layer that handles imports within your files from `@nuxtjs/composition-api` until you've fully finished migrating to native Bridge/Nuxt 3 composables (which you will import from by `#app`, or via auto-imports).
|
- Remove `@nuxtjs/composition-api` from your dependencies (and from your modules in `nuxt.config`). Bridge provides a legacy composition API layer that handles imports within your files from `@nuxtjs/composition-api` until you've fully finished migrating to native Bridge/Nuxt 3 composables (which you will import from by `#app`, or via auto-imports).
|
||||||
|
|
||||||
### Exclude Nuxt build folder from git
|
## Exclude Nuxt build folder from git
|
||||||
|
|
||||||
Add the folder `.output` to the `.gitignore` file.
|
Add the folder `.output` to the `.gitignore` file.
|
||||||
|
|
||||||
### Ensure everything goes well
|
## Ensure everything goes well
|
||||||
|
|
||||||
✔️ Try with `nuxt dev` and `nuxt build` (or `nuxt generate`) to see if everything goes well.
|
✔️ Try with `nuxt dev` and `nuxt build` (or `nuxt generate`) to see if everything goes well.
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ Nuxt 3 has two main commands, one to start development server and one to make pr
|
|||||||
|
|
||||||
Since Nuxt 3 becomes a dev dependency thanks to the new [Nitro server](/concepts/server-engine), you only need to add two commands in your `package.json`:
|
Since Nuxt 3 becomes a dev dependency thanks to the new [Nitro server](/concepts/server-engine), you only need to add two commands in your `package.json`:
|
||||||
|
|
||||||
```json
|
```json [package.json]
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "nuxi dev",
|
"dev": "nuxi dev",
|
||||||
"build": "nuxi build",
|
"build": "nuxi build",
|
||||||
@ -17,15 +17,18 @@ Then, you can run each command using `npm run <command>` or `yarn <command>`.
|
|||||||
|
|
||||||
## Development Server
|
## Development Server
|
||||||
|
|
||||||
To start Nuxt in development mode with hot module replacement on http://localhost:3000:
|
To start Nuxt in development mode with hot module replacement on <http://localhost:3000>:
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
```bash[Yarn]
|
|
||||||
|
```bash [Yarn]
|
||||||
yarn dev
|
yarn dev
|
||||||
```
|
```
|
||||||
```bash[NPM]
|
|
||||||
|
```bash [NPM]
|
||||||
npm run dev
|
npm run dev
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
## Building for production
|
## Building for production
|
||||||
@ -33,12 +36,15 @@ npm run dev
|
|||||||
To build your Nuxt application for production, run:
|
To build your Nuxt application for production, run:
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
```bash[Yarn]
|
|
||||||
|
```bash [Yarn]
|
||||||
yarn build
|
yarn build
|
||||||
```
|
```
|
||||||
```bash[NPM]
|
|
||||||
|
```bash [NPM]
|
||||||
npm run build
|
npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
Nuxt will create a [`.output`](/docs/directory-structure/output) directory with all your application, server and dependencies ready to be deployed. Checkout the [deployment](/docs/deployment) section to learn where and how you can deploy a Nuxt application using Nitro.
|
Nuxt will create a [`.output`](/docs/directory-structure/output) directory with all your application, server and dependencies ready to be deployed. Checkout the [deployment](/docs/deployment) section to learn where and how you can deploy a Nuxt application using Nitro.
|
||||||
|
@ -12,6 +12,7 @@ Some features have been dropped from Nuxt 2, some are yet to be implemented for
|
|||||||
Noticeable and/or breaking changes for Nuxt 3 other than the requirements of Nuxt Bridge are:
|
Noticeable and/or breaking changes for Nuxt 3 other than the requirements of Nuxt Bridge are:
|
||||||
|
|
||||||
::list{type=warning}
|
::list{type=warning}
|
||||||
|
|
||||||
- Vue app templates are rewritten
|
- Vue app templates are rewritten
|
||||||
- Vue upgraded to `3.x`
|
- Vue upgraded to `3.x`
|
||||||
- Using `<Suspense>` for async data fetching
|
- Using `<Suspense>` for async data fetching
|
||||||
@ -22,7 +23,7 @@ Noticeable and/or breaking changes for Nuxt 3 other than the requirements of Nux
|
|||||||
- The [`pages/` directory](/docs/directory-structure/pages) conventions changed
|
- The [`pages/` directory](/docs/directory-structure/pages) conventions changed
|
||||||
::
|
::
|
||||||
|
|
||||||
In table below there is an overall feature comparation table:
|
In table below there is an overall feature comparison table:
|
||||||
|
|
||||||
Feature / Version | Nuxt 2 | Nuxt 3 | Changes required
|
Feature / Version | Nuxt 2 | Nuxt 3 | Changes required
|
||||||
--------------------------|---------|----------|------------------
|
--------------------------|---------|----------|------------------
|
||||||
@ -77,27 +78,33 @@ Nuxt 3 natively supports TypeScript and ECMAScript Modules.
|
|||||||
#### Update the imports
|
#### Update the imports
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```js [Before]
|
```js [Before]
|
||||||
const lib = require('lib')
|
const lib = require('lib')
|
||||||
```
|
```
|
||||||
|
|
||||||
```js [After]
|
```js [After]
|
||||||
import lib from 'lib'
|
import lib from 'lib'
|
||||||
// or using code-splitting
|
// or using code-splitting
|
||||||
const lib = await import('lib').then(e => e.default || e)
|
const lib = await import('lib').then(e => e.default || e)
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
#### Update the exports
|
#### Update the exports
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```js [Before]
|
```js [Before]
|
||||||
module.exports = ...
|
module.exports = ...
|
||||||
```
|
```
|
||||||
|
|
||||||
```js [After]
|
```js [After]
|
||||||
export default ...
|
export default ...
|
||||||
// or using named export
|
// or using named export
|
||||||
export const hello = ...
|
export const hello = ...
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
#### Avoid using specific CJS syntax
|
#### Avoid using specific CJS syntax
|
||||||
@ -109,6 +116,7 @@ Avoid the usage of `__dirname` and `__filename` as much as possible.
|
|||||||
If you inject a Nuxt plugin that does not have `export default` (such as global Vue plugins), ensure you add `export default () => { }` to the end of it.
|
If you inject a Nuxt plugin that does not have `export default` (such as global Vue plugins), ensure you add `export default () => { }` to the end of it.
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```js [Before]
|
```js [Before]
|
||||||
// ~/plugins/vuelidate.js
|
// ~/plugins/vuelidate.js
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
@ -116,6 +124,7 @@ import Vuelidate from 'vuelidate'
|
|||||||
|
|
||||||
Vue.use(Vuelidate)
|
Vue.use(Vuelidate)
|
||||||
```
|
```
|
||||||
|
|
||||||
```js [After]
|
```js [After]
|
||||||
// ~/plugins/vuelidate.js
|
// ~/plugins/vuelidate.js
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
@ -125,6 +134,7 @@ Vue.use(Vuelidate)
|
|||||||
|
|
||||||
export default () => { }
|
export default () => { }
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
### Avoid runtime modules
|
### Avoid runtime modules
|
||||||
|
@ -6,6 +6,7 @@ Nuxt goal is to make web development intuitive and performant with a great devel
|
|||||||
|
|
||||||
To understand what is Nuxt, we need to understand what we need to create a modern application:
|
To understand what is Nuxt, we need to understand what we need to create a modern application:
|
||||||
::list{type=success}
|
::list{type=success}
|
||||||
|
|
||||||
- A JavaScript framework to bring reactivity and web components, we chose [Vue.js](https://v3.vuejs.org).
|
- A JavaScript framework to bring reactivity and web components, we chose [Vue.js](https://v3.vuejs.org).
|
||||||
- A bundler to support hot module replacement in development and bundle your code for production, we support both [Webpack 5](https://webpack.js.org/) and [Vite](https://vitejs.dev/).
|
- A bundler to support hot module replacement in development and bundle your code for production, we support both [Webpack 5](https://webpack.js.org/) and [Vite](https://vitejs.dev/).
|
||||||
- A transpiler in order to write the latest JavaScript syntax while supporting legacy browsers, we use [esbuild](https://esbuild.github.io) for that.
|
- A transpiler in order to write the latest JavaScript syntax while supporting legacy browsers, we use [esbuild](https://esbuild.github.io) for that.
|
||||||
@ -23,6 +24,7 @@ On top of this setup, Nuxt provides a [directory structure](/docs/directory-stru
|
|||||||
|
|
||||||
Nuxt is composed of different [core packages](https://github.com/nuxt/framework/tree/main/packages):
|
Nuxt is composed of different [core packages](https://github.com/nuxt/framework/tree/main/packages):
|
||||||
::list{type=info}
|
::list{type=info}
|
||||||
|
|
||||||
- Core Engine: [nuxt3](https://github.com/nuxt/framework/tree/main/packages/nuxt3)
|
- Core Engine: [nuxt3](https://github.com/nuxt/framework/tree/main/packages/nuxt3)
|
||||||
- Bundlers: [@nuxt/vite-builder](https://github.com/nuxt/framework/tree/main/packages/vite) and [@nuxt/webpack-builder](https://github.com/nuxt/framework/tree/main/packages/webpack)
|
- Bundlers: [@nuxt/vite-builder](https://github.com/nuxt/framework/tree/main/packages/vite) and [@nuxt/webpack-builder](https://github.com/nuxt/framework/tree/main/packages/webpack)
|
||||||
- Command line interface: [nuxi](https://github.com/nuxt/framework/tree/main/packages/nuxi)
|
- Command line interface: [nuxi](https://github.com/nuxt/framework/tree/main/packages/nuxi)
|
||||||
|
@ -4,6 +4,7 @@ Nuxt 3 is powered by a new server engine, code-named "Nitro".
|
|||||||
|
|
||||||
This engine has many benefits:
|
This engine has many benefits:
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Cross-platform support for Node.js, Browsers, service-workers and more
|
- Cross-platform support for Node.js, Browsers, service-workers and more
|
||||||
- Serverless support out-of-the-box
|
- Serverless support out-of-the-box
|
||||||
- API routes support
|
- API routes support
|
||||||
@ -18,13 +19,12 @@ Server [API endpoints](/docs/directory-structure/server#api-routes) and [Middlew
|
|||||||
|
|
||||||
There are a number of key features, including:
|
There are a number of key features, including:
|
||||||
|
|
||||||
* Handlers can directly return objects/arrays for an automatically-handled JSON response
|
- Handlers can directly return objects/arrays for an automatically-handled JSON response
|
||||||
* Handlers can return promises, which will be awaited (`res.end()` and `next()` are also supported)
|
- Handlers can return promises, which will be awaited (`res.end()` and `next()` are also supported)
|
||||||
* Helper functions for body parsing, cookie handling, redirects, headers and more
|
- Helper functions for body parsing, cookie handling, redirects, headers and more
|
||||||
|
|
||||||
Check out [the h3 docs](https://github.com/unjs/h3) for more information.
|
Check out [the h3 docs](https://github.com/unjs/h3) for more information.
|
||||||
|
|
||||||
|
|
||||||
::alert{type="info" icon=ℹ️}
|
::alert{type="info" icon=ℹ️}
|
||||||
Learn more about the API layer in the [`server/`](/docs/directory-structure/server) directory.
|
Learn more about the API layer in the [`server/`](/docs/directory-structure/server) directory.
|
||||||
::
|
::
|
||||||
@ -35,8 +35,8 @@ Nitro allows 'direct' calling of routes via the globally-available `$fetch` help
|
|||||||
|
|
||||||
`$fetch` API is using [ohmyfetch](https://github.com/unjs/ohmyfetch), with key features including:
|
`$fetch` API is using [ohmyfetch](https://github.com/unjs/ohmyfetch), with key features including:
|
||||||
|
|
||||||
* Automatic parsing of JSON responses (with access to raw response if needed)
|
- Automatic parsing of JSON responses (with access to raw response if needed)
|
||||||
* Request body and params are automatically handled, with correct `Content-Type` headers being added
|
- Request body and params are automatically handled, with correct `Content-Type` headers being added
|
||||||
|
|
||||||
For more information on `$fetch` features, check out [ohmyfetch](https://github.com/unjs/ohmyfetch).
|
For more information on `$fetch` features, check out [ohmyfetch](https://github.com/unjs/ohmyfetch).
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ The server in Nuxt 2 is not standalone, but requires part of nuxt core to be inv
|
|||||||
|
|
||||||
This dist is generated when running `nuxt build` into a [`.output`](/docs/directory-structure/output) directory.
|
This dist is generated when running `nuxt build` into a [`.output`](/docs/directory-structure/output) directory.
|
||||||
|
|
||||||
The output is combined with both runtime code to run your Nuxt server in any environment (including experimental browser Service Workers!) and serve you static files, making it a true hybrid framework for the Jamstack. In addition, a native storage layer is implemented, supporting multi source, drivers and local assets.
|
The output is combined with both runtime code to run your Nuxt server in any environment (including experimental browser Service Workers!) and serve you static files, making it a true hybrid framework for the JAMstack. In addition, a native storage layer is implemented, supporting multi source, drivers and local assets.
|
||||||
|
|
||||||
::alert{type="info" icon=IconCode}
|
::alert{type="info" icon=IconCode}
|
||||||
Checkout the Nitro engine on GitHub: [framework/packages/nitro](https://github.com/nuxt/framework/tree/main/packages/nitro)
|
Checkout the Nitro engine on GitHub: [framework/packages/nitro](https://github.com/nuxt/framework/tree/main/packages/nitro)
|
||||||
|
@ -8,7 +8,7 @@ When you run `nuxi dev` or `nuxi build`, the following files are generated for I
|
|||||||
|
|
||||||
### `.nuxt/nuxt.d.ts`
|
### `.nuxt/nuxt.d.ts`
|
||||||
|
|
||||||
This file contains the types of any modules you are using, as well as the key types that Nuxt 3 requires. Your IDE should recognise these types automatically.
|
This file contains the types of any modules you are using, as well as the key types that Nuxt 3 requires. Your IDE should recognize these types automatically.
|
||||||
|
|
||||||
Some of the references in the file are to files that are only generated within your `buildDir` (`.nuxt`) and therefore for full typings, you will need to run `nuxi dev` or `nuxi build`.
|
Some of the references in the file are to files that are only generated within your `buildDir` (`.nuxt`) and therefore for full typings, you will need to run `nuxi dev` or `nuxi build`.
|
||||||
|
|
||||||
@ -18,7 +18,6 @@ This file contains the recommended basic TypeScript configuration for your proje
|
|||||||
|
|
||||||
[Read more about how to extend this configuration](/docs/directory-structure/tsconfig).
|
[Read more about how to extend this configuration](/docs/directory-structure/tsconfig).
|
||||||
|
|
||||||
|
|
||||||
::alert{icon=👉}
|
::alert{icon=👉}
|
||||||
Nitro also [auto-generates types](/concepts/server-engine#typed-api-routes) for API routes. Plus, Nuxt also generates types for globally available components and [auto-imports from your composables](/docs/directory-structure/composables), plus other core functionality.
|
Nitro also [auto-generates types](/concepts/server-engine#typed-api-routes) for API routes. Plus, Nuxt also generates types for globally available components and [auto-imports from your composables](/docs/directory-structure/composables), plus other core functionality.
|
||||||
::
|
::
|
||||||
|
@ -15,10 +15,10 @@ useAsyncData(key: string, fn: () => Object, options?: { defer: boolean, server:
|
|||||||
* **key**: a unique key to ensure that data fetching can be properly de-duplicated across requests
|
* **key**: a unique key to ensure that data fetching can be properly de-duplicated across requests
|
||||||
* **fn** an asynchronous function that returns a value.
|
* **fn** an asynchronous function that returns a value.
|
||||||
* **options**:
|
* **options**:
|
||||||
- _defer_: whether to load the route before resolving the async function (defaults to `false`)
|
* _defer_: whether to load the route before resolving the async function (defaults to `false`)
|
||||||
- _server_: whether the fetch the data on server-side (defaults to `true`)
|
* _server_: whether the fetch the data on server-side (defaults to `true`)
|
||||||
- _transform_: A function that can be used to alter fn result after resolving
|
* _transform_: A function that can be used to alter fn result after resolving
|
||||||
- _pick_: Only pick specified keys in this array from fn result
|
* _pick_: Only pick specified keys in this array from fn result
|
||||||
|
|
||||||
Under the hood, `defer: false` uses `<Suspense>` to block the loading of the route before the data has been fetched. Consider using `defer: true` and implementing a loading state instead for a snappier user experience.
|
Under the hood, `defer: false` uses `<Suspense>` to block the loading of the route before the data has been fetched. Consider using `defer: true` and implementing a loading state instead for a snappier user experience.
|
||||||
|
|
||||||
@ -48,23 +48,24 @@ Within your pages, components and plugins you can use `useFetch` to get universa
|
|||||||
|
|
||||||
This composable provides a convenient wrapper around `useAsyncData` and `$fetch` and automatically generates a key based on url and fetch options and infers API response type.
|
This composable provides a convenient wrapper around `useAsyncData` and `$fetch` and automatically generates a key based on url and fetch options and infers API response type.
|
||||||
|
|
||||||
Usage:
|
### Usage
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
useFetch(url: string, options?)
|
useFetch(url: string, options?)
|
||||||
```
|
```
|
||||||
|
|
||||||
Available options:
|
Available options:
|
||||||
- `key`: Provide a custom key
|
|
||||||
- Options from [ohmyfetch](https://github.com/unjs/ohmyfetch)
|
* `key`: Provide a custom key
|
||||||
- `method`: Request method
|
* Options from [ohmyfetch](https://github.com/unjs/ohmyfetch)
|
||||||
- `params`: Query params
|
* `method`: Request method
|
||||||
- `baseURL`: Base URL for request
|
* `params`: Query params
|
||||||
- Options from `useAsyncData`
|
* `baseURL`: Base URL for request
|
||||||
- `defer`
|
* Options from `useAsyncData`
|
||||||
- `server`
|
* `defer`
|
||||||
- `pick`
|
* `server`
|
||||||
- `transform`
|
* `pick`
|
||||||
|
* `transform`
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@ Within your pages, components and plugins you can use `useState`. It can be used
|
|||||||
|
|
||||||
You can think of it as an SSR-friendly ref in that its value will be hydrated (preserved) after server-side rendering. It is shared across all components.
|
You can think of it as an SSR-friendly ref in that its value will be hydrated (preserved) after server-side rendering. It is shared across all components.
|
||||||
|
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
@ -7,7 +7,8 @@ You can customize the meta tags for your site through several different ways:
|
|||||||
Within your `setup()` function you can call `useMeta` with an object of meta properties with keys corresponding to meta tags: `title`, `base`, `script`, `style`, `meta` and `link`, as well as `htmlAttrs` and `bodyAttrs`. Alternatively, you can pass a function returning the object for reactive metadata.
|
Within your `setup()` function you can call `useMeta` with an object of meta properties with keys corresponding to meta tags: `title`, `base`, `script`, `style`, `meta` and `link`, as well as `htmlAttrs` and `bodyAttrs`. Alternatively, you can pass a function returning the object for reactive metadata.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
```ts
|
|
||||||
|
```js
|
||||||
export default {
|
export default {
|
||||||
setup () {
|
setup () {
|
||||||
useMeta({
|
useMeta({
|
||||||
|
@ -19,7 +19,6 @@ function useMyComposable () {
|
|||||||
|
|
||||||
Plugins also receive `nuxtApp` as the first argument for convenience. [Read more about plugins.](/docs/directory-structure/plugins)
|
Plugins also receive `nuxtApp` as the first argument for convenience. [Read more about plugins.](/docs/directory-structure/plugins)
|
||||||
|
|
||||||
|
|
||||||
## Providing helpers
|
## Providing helpers
|
||||||
|
|
||||||
You can provide helpers to be usable across all composables and application. This usually happens within a nuxt plugin.
|
You can provide helpers to be usable across all composables and application. This usually happens within a nuxt plugin.
|
||||||
|
@ -24,7 +24,7 @@ Each file should export a default function that handles api requests. It can ret
|
|||||||
export default (req, res) => 'Hello World'
|
export default (req, res) => 'Hello World'
|
||||||
```
|
```
|
||||||
|
|
||||||
See result on http://localhost:3000/api/hello
|
See result on <http://localhost:3000/api/hello>
|
||||||
|
|
||||||
#### Async function
|
#### Async function
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ head.title: Assets directory
|
|||||||
The `assets/` directory is used to add all the website assets that will be processed by the build tool (Webpack or Vite).
|
The `assets/` directory is used to add all the website assets that will be processed by the build tool (Webpack or Vite).
|
||||||
|
|
||||||
The directory usually contain such files:
|
The directory usually contain such files:
|
||||||
|
|
||||||
- Stylesheets (CSS, SASS, etc.)
|
- Stylesheets (CSS, SASS, etc.)
|
||||||
- Fonts
|
- Fonts
|
||||||
- Images that won't be served from the [`public/`](/docs/directory-structure/public) directory.
|
- Images that won't be served from the [`public/`](/docs/directory-structure/public) directory.
|
||||||
|
@ -141,4 +141,3 @@ And directly use the module components (prefixed with `awesome-`), our `pages/in
|
|||||||
```
|
```
|
||||||
|
|
||||||
It will automatically import the components only if used and also support HMR when updating your components in `node_modules/awesome-ui/components/`.
|
It will automatically import the components only if used and also support HMR when updating your components in `node_modules/awesome-ui/components/`.
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@ head.title: Composables directory
|
|||||||
|
|
||||||
Nuxt 3 supports `composables/` directory to auto import your Vue composables into your application and use using auto imports!
|
Nuxt 3 supports `composables/` directory to auto import your Vue composables into your application and use using auto imports!
|
||||||
|
|
||||||
|
|
||||||
Example: (using named exports)
|
Example: (using named exports)
|
||||||
|
|
||||||
```js [composables/useFoo.ts]
|
```js [composables/useFoo.ts]
|
||||||
@ -43,4 +42,3 @@ You can now auto import it:
|
|||||||
const foo = useFoo()
|
const foo = useFoo()
|
||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ Page layouts are placed in the `layouts/` directory and will be automatically lo
|
|||||||
|
|
||||||
If you have only single layout for application, you can alternatively use [app.vue](/docs/directory-structure/app).
|
If you have only single layout for application, you can alternatively use [app.vue](/docs/directory-structure/app).
|
||||||
|
|
||||||
### Example: a custom layout
|
## Example: a custom layout
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
-| layouts/
|
-| layouts/
|
||||||
@ -40,7 +40,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Example: using with slots
|
## Example: using with slots
|
||||||
|
|
||||||
You can also take full control (for example, with slots) by using the `<NuxtLayout>` component (which is globally available throughout your application) and set `layout: false` in your component options.
|
You can also take full control (for example, with slots) by using the `<NuxtLayout>` component (which is globally available throughout your application) and set `layout: false` in your component options.
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Example: using with `<script setup>`
|
## Example: using with `<script setup>`
|
||||||
|
|
||||||
If you are utilizing Vue `<script setup>` [compile-time syntactic sugar](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup), you can use a secondary `<script>` tag to set `layout` options as needed.
|
If you are utilizing Vue `<script setup>` [compile-time syntactic sugar](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup), you can use a secondary `<script>` tag to set `layout` options as needed.
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ Given the example above, you can access group/id within your component via the `
|
|||||||
|
|
||||||
Navigating to `/users-admins/123` would render:
|
Navigating to `/users-admins/123` would render:
|
||||||
|
|
||||||
```
|
```text
|
||||||
admins 123
|
admins 123
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ To display the `child.vue` component, simply put the `<NuxtChild>` component ins
|
|||||||
|
|
||||||
The example file tree above should generate these routes:
|
The example file tree above should generate these routes:
|
||||||
|
|
||||||
```ts
|
```js
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
path: '/parent',
|
path: '/parent',
|
||||||
|
@ -9,6 +9,7 @@ How to deploy Nuxt to Azure Static Web Apps or Azure Functions.
|
|||||||
## Azure Functions
|
## Azure Functions
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Support for serverless SSR build
|
- Support for serverless SSR build
|
||||||
- No configuration required
|
- No configuration required
|
||||||
- Static assets served from Azure Function
|
- Static assets served from Azure Function
|
||||||
@ -40,11 +41,12 @@ cd .output
|
|||||||
func start
|
func start
|
||||||
```
|
```
|
||||||
|
|
||||||
You can now visit http://localhost:7071/ in your browser and browse your site running locally on Azure Functions.
|
You can now visit <http://localhost:7071/> in your browser and browse your site running locally on Azure Functions.
|
||||||
|
|
||||||
### Deploy from your local machine
|
### Deploy from your local machine
|
||||||
|
|
||||||
To deploy, just run the following command:
|
To deploy, just run the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# To publish the bundled zip file
|
# To publish the bundled zip file
|
||||||
az functionapp deployment source config-zip -g <resource-group> -n <app-name> --src dist/deploy.zip
|
az functionapp deployment source config-zip -g <resource-group> -n <app-name> --src dist/deploy.zip
|
||||||
@ -117,7 +119,7 @@ Consider [turning on immutable packages](https://docs.microsoft.com/en-us/azure/
|
|||||||
|
|
||||||
### Demo
|
### Demo
|
||||||
|
|
||||||
A live demo is available on https://nuxt-nitro.azurewebsites.net/
|
A live demo is available on <https://nuxt-nitro.azurewebsites.net/>
|
||||||
|
|
||||||
## Azure Static Web Apps
|
## Azure Static Web Apps
|
||||||
|
|
||||||
@ -128,6 +130,7 @@ Azure Static Web Apps currently defaults to a Node.js 12.x runtime, which means
|
|||||||
How to deploy Nuxt to Azure Static Web Apps with Nuxt Nitro.
|
How to deploy Nuxt to Azure Static Web Apps with Nuxt Nitro.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Support for serverless SSR build
|
- Support for serverless SSR build
|
||||||
- Auto-detected when deploying
|
- Auto-detected when deploying
|
||||||
- Minimal configuration required
|
- Minimal configuration required
|
||||||
@ -168,9 +171,10 @@ output_location: '.output/public'
|
|||||||
###### End of Repository/Build Configurations ######
|
###### End of Repository/Build Configurations ######
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note**
|
#### Note
|
||||||
|
|
||||||
Pending an update in the [Azure Static Web Apps workflow](https://github.com/Azure/static-web-apps-deploy), you will also need to run the following in your root directory:
|
Pending an update in the [Azure Static Web Apps workflow](https://github.com/Azure/static-web-apps-deploy), you will also need to run the following in your root directory:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p .output/server
|
mkdir -p .output/server
|
||||||
touch .output/server/.gitkeep
|
touch .output/server/.gitkeep
|
||||||
|
@ -7,6 +7,7 @@ icon: LogoCloudFlare
|
|||||||
How to deploy Nuxt to Cloudflare Workers.
|
How to deploy Nuxt to Cloudflare Workers.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Support for Workers build output
|
- Support for Workers build output
|
||||||
- Zero millisecond cold start with edge-side rendering
|
- Zero millisecond cold start with edge-side rendering
|
||||||
- Minimal configuration required
|
- Minimal configuration required
|
||||||
@ -132,4 +133,4 @@ See [more information on the service worker preset](/docs/deployment/presets/ser
|
|||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
|
|
||||||
A live demo is available on https://nitro-demo.nuxt.workers.dev/
|
A live demo is available on <https://nitro-demo.nuxt.workers.dev/>
|
||||||
|
@ -7,6 +7,7 @@ icon: LogoFirebase
|
|||||||
How to deploy Nuxt to Firebase Hosting.
|
How to deploy Nuxt to Firebase Hosting.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Support for serverless build
|
- Support for serverless build
|
||||||
- Minimal configuration required
|
- Minimal configuration required
|
||||||
::
|
::
|
||||||
@ -22,6 +23,7 @@ Nitro supports [Firebase Hosting](https://firebase.google.com/docs/hosting) with
|
|||||||
If you don't already have a `firebase.json` in your root directory, Nitro will create one the first time you run it. All you will need to do is edit this to replace `<your_project_id>` with the project ID that you have chosen on Firebase.
|
If you don't already have a `firebase.json` in your root directory, Nitro will create one the first time you run it. All you will need to do is edit this to replace `<your_project_id>` with the project ID that you have chosen on Firebase.
|
||||||
|
|
||||||
This file should then be committed to version control. You can also create a `.firebaserc` file if you don't want to manually pass your project ID to your `firebase` commands (with `--project <your_project_id>`):
|
This file should then be committed to version control. You can also create a `.firebaserc` file if you don't want to manually pass your project ID to your `firebase` commands (with `--project <your_project_id>`):
|
||||||
|
|
||||||
```json [.firebaserc]
|
```json [.firebaserc]
|
||||||
{
|
{
|
||||||
"projects": {
|
"projects": {
|
||||||
@ -33,12 +35,15 @@ This file should then be committed to version control. You can also create a `.f
|
|||||||
Then, just add Firebase dependencies to your project:
|
Then, just add Firebase dependencies to your project:
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```bash [Yarn]
|
```bash [Yarn]
|
||||||
yarn add --dev firebase-admin firebase-functions firebase-functions-test
|
yarn add --dev firebase-admin firebase-functions firebase-functions-test
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash [NPM]
|
```bash [NPM]
|
||||||
npm install -D firebase-admin firebase-functions firebase-functions-test
|
npm install -D firebase-admin firebase-functions firebase-functions-test
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
### Using Firebase CLI
|
### Using Firebase CLI
|
||||||
@ -48,12 +53,15 @@ You may instead prefer to set up your project with the `firebase` CLI, which wil
|
|||||||
#### Install firebase CLI globally
|
#### Install firebase CLI globally
|
||||||
|
|
||||||
::code-group
|
::code-group
|
||||||
|
|
||||||
```bash [Yarn]
|
```bash [Yarn]
|
||||||
yarn global add firebase-tools
|
yarn global add firebase-tools
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash [NPM]
|
```bash [NPM]
|
||||||
npm install -g firebase-tools
|
npm install -g firebase-tools
|
||||||
```
|
```
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
#### Initialize your firebase project
|
#### Initialize your firebase project
|
||||||
@ -66,6 +74,7 @@ firebase init hosting
|
|||||||
When prompted, you can enter `.output/public` as the public directory. **Don't** select that this will be a single-page app.
|
When prompted, you can enter `.output/public` as the public directory. **Don't** select that this will be a single-page app.
|
||||||
|
|
||||||
Once complete, add the following to your `firebase.json` to enable server rendering in Cloud Functions:
|
Once complete, add the following to your `firebase.json` to enable server rendering in Cloud Functions:
|
||||||
|
|
||||||
```json [firebase.json]
|
```json [firebase.json]
|
||||||
{
|
{
|
||||||
"functions": { "source": ".output/server" },
|
"functions": { "source": ".output/server" },
|
||||||
@ -102,4 +111,4 @@ firebase deploy
|
|||||||
|
|
||||||
## Demo site
|
## Demo site
|
||||||
|
|
||||||
A live demo is available on https://nitro-demo-dfabe.web.app
|
A live demo is available on <https://nitro-demo-dfabe.web.app>
|
||||||
|
@ -7,6 +7,7 @@ icon: LogoNetlify
|
|||||||
How to deploy Nuxt to Netlify.
|
How to deploy Nuxt to Netlify.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Support for serverless SSR build
|
- Support for serverless SSR build
|
||||||
- Auto-detected when deploying
|
- Auto-detected when deploying
|
||||||
- No configuration required
|
- No configuration required
|
||||||
@ -26,4 +27,4 @@ See [more information on the Lambda preset](/docs/deployment/presets/lambda) for
|
|||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
|
|
||||||
A live demo is available on https://nitro-demo.netlify.app/
|
A live demo is available on <https://nitro-demo.netlify.app/>
|
||||||
|
@ -7,6 +7,7 @@ icon: LogoPM2
|
|||||||
How to deploy Nuxt to a Node.js hosting using PM2.
|
How to deploy Nuxt to a Node.js hosting using PM2.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Support for ultra-minimal SSR build
|
- Support for ultra-minimal SSR build
|
||||||
- Zero millisecond cold start
|
- Zero millisecond cold start
|
||||||
- More configuration required
|
- More configuration required
|
||||||
@ -16,7 +17,7 @@ How to deploy Nuxt to a Node.js hosting using PM2.
|
|||||||
|
|
||||||
Make sure another preset isn't set in `nuxt.config`.
|
Make sure another preset isn't set in `nuxt.config`.
|
||||||
|
|
||||||
```ts [nuxt.config.js|ts]
|
```js [nuxt.config.js|ts]
|
||||||
export default {
|
export default {
|
||||||
nitro: {
|
nitro: {
|
||||||
// this is the default preset so you can also just omit it entirely
|
// this is the default preset so you can also just omit it entirely
|
||||||
|
@ -7,6 +7,7 @@ icon: LogoVercel
|
|||||||
How to deploy Nuxt to Vercel.
|
How to deploy Nuxt to Vercel.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Support for serverless build
|
- Support for serverless build
|
||||||
- Auto-detected when deploying
|
- Auto-detected when deploying
|
||||||
- No configuration required
|
- No configuration required
|
||||||
@ -14,7 +15,7 @@ How to deploy Nuxt to Vercel.
|
|||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
By default, [Vercel](https://vercel.com) will run your `build` script in the `package.json` and automatically detect the built entrypoint within `.vercel_build_output/`.
|
By default, [Vercel](https://vercel.com) will run your `build` script in the `package.json` and automatically detect the built entry point within `.vercel_build_output/`.
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -26,4 +27,4 @@ See [more information on the node preset](/docs/deployment/presets/node) for ful
|
|||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
|
|
||||||
A live demo is available at https://nitro-demo.vercel.app/
|
A live demo is available at <https://nitro-demo.vercel.app/>
|
||||||
|
@ -7,6 +7,7 @@ icon: IconPresets
|
|||||||
Nuxt has four provided generic presets that you can use out-of-the-box.
|
Nuxt has four provided generic presets that you can use out-of-the-box.
|
||||||
|
|
||||||
::list{type=success}
|
::list{type=success}
|
||||||
|
|
||||||
- [Node.js server *(default)*](/docs/deployment/presets/server)
|
- [Node.js server *(default)*](/docs/deployment/presets/server)
|
||||||
- [Node.js function](/docs/deployment/presets/node)
|
- [Node.js function](/docs/deployment/presets/node)
|
||||||
- [Lambda function](/docs/deployment/presets/lambda)
|
- [Lambda function](/docs/deployment/presets/lambda)
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
Get full control of Nuxt Nitro output to deploy on any kind of hosting platform.
|
Get full control of Nuxt Nitro output to deploy on any kind of hosting platform.
|
||||||
|
|
||||||
::list{type=info}
|
::list{type=info}
|
||||||
|
|
||||||
- Allows full customization
|
- Allows full customization
|
||||||
- This is an advanced usage pattern
|
- This is an advanced usage pattern
|
||||||
::
|
::
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
Discover the Node.js function preset with Nitro to attach Nuxt as a middleware to any Node.js server.
|
Discover the Node.js function preset with Nitro to attach Nuxt as a middleware to any Node.js server.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Compatible with many Node.js servers
|
- Compatible with many Node.js servers
|
||||||
- Drop-in usage with express or native http server
|
- Drop-in usage with express or native http server
|
||||||
- Loads only the chunks required to render the request for optimal cold start timing
|
- Loads only the chunks required to render the request for optimal cold start timing
|
||||||
@ -14,9 +15,9 @@ Back to [presets list](/docs/deployment/presets).
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
You can use the [Nuxt config](/docs/directory-structure/nuxt.config) to explicity set the preset to use:
|
You can use the [Nuxt config](/docs/directory-structure/nuxt.config) to explicitly set the preset to use:
|
||||||
|
|
||||||
```ts [nuxt.config.js|ts]
|
```js [nuxt.config.js|ts]
|
||||||
export default {
|
export default {
|
||||||
nitro: {
|
nitro: {
|
||||||
preset: 'node'
|
preset: 'node'
|
||||||
@ -30,9 +31,9 @@ Or directly use the `NITRO_PRESET` environment variable when running `nuxt build
|
|||||||
NITRO_PRESET=node npx nuxt build
|
NITRO_PRESET=node npx nuxt build
|
||||||
```
|
```
|
||||||
|
|
||||||
## Entrypoint
|
## Entry point
|
||||||
|
|
||||||
When running `nuxt build` with the Node preset, the result will be an entrypoint exporting a function with the familiar `(req, res) => {}` signature used in [express](https://expressjs.com/), [h3](https://github.com/unjs/h3), etc.
|
When running `nuxt build` with the Node preset, the result will be an entry point exporting a function with the familiar `(req, res) => {}` signature used in [express](https://expressjs.com/), [h3](https://github.com/unjs/h3), etc.
|
||||||
|
|
||||||
::alert{type=warning}
|
::alert{type=warning}
|
||||||
It is not recommended to use this preset directly, and particularly not with a 3rd-party server.
|
It is not recommended to use this preset directly, and particularly not with a 3rd-party server.
|
||||||
@ -42,7 +43,7 @@ It is not recommended to use this preset directly, and particularly not with a 3
|
|||||||
|
|
||||||
### Express middleware
|
### Express middleware
|
||||||
|
|
||||||
```ts
|
```js
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
import handler from './.output/server'
|
import handler from './.output/server'
|
||||||
|
|
||||||
@ -54,11 +55,10 @@ app.listen(3000)
|
|||||||
|
|
||||||
### Node server
|
### Node server
|
||||||
|
|
||||||
```ts
|
```js
|
||||||
import { createServer } from 'http'
|
import { createServer } from 'http'
|
||||||
import handler from './.output/server'
|
import handler from './.output/server'
|
||||||
|
|
||||||
const server = createServer(handler)
|
const server = createServer(handler)
|
||||||
server.listen(8080)
|
server.listen(8080)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
Discover the Node.js server preset with Nitro to deploy on any Node hosting.
|
Discover the Node.js server preset with Nitro to deploy on any Node hosting.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- **Default preset** if none is specified or auto-detected <br>
|
- **Default preset** if none is specified or auto-detected <br>
|
||||||
- Loads only the required chunks to render the request for optimal cold start timing <br>
|
- Loads only the required chunks to render the request for optimal cold start timing <br>
|
||||||
- Useful for debugging
|
- Useful for debugging
|
||||||
@ -14,9 +15,9 @@ Back to [presets list](/docs/deployment/presets).
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
You can use the [Nuxt config](/docs/directory-structure/nuxt.config) to explicity set the preset to use:
|
You can use the [Nuxt config](/docs/directory-structure/nuxt.config) to explicitly set the preset to use:
|
||||||
|
|
||||||
```ts [nuxt.config.js|ts]
|
```js [nuxt.config.js|ts]
|
||||||
export default {
|
export default {
|
||||||
nitro: {
|
nitro: {
|
||||||
preset: 'server'
|
preset: 'server'
|
||||||
@ -30,9 +31,9 @@ Or directly use the `NITRO_PRESET` environment variable when running `nuxt build
|
|||||||
NITRO_PRESET=server npx nuxt build
|
NITRO_PRESET=server npx nuxt build
|
||||||
```
|
```
|
||||||
|
|
||||||
## Entrypoint
|
## Entry point
|
||||||
|
|
||||||
When running `nuxt build` with the Node server preset, the result will be an entrypoint that launches a ready-to-run Node server.
|
When running `nuxt build` with the Node server preset, the result will be an entry point that launches a ready-to-run Node server.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
node .output/server/index.mjs
|
node .output/server/index.mjs
|
||||||
@ -49,7 +50,7 @@ Listening on http://localhost:3000
|
|||||||
|
|
||||||
You can enable the `nitro.timing` option in order to have the logs about the chunk loading and cold start performance.
|
You can enable the `nitro.timing` option in order to have the logs about the chunk loading and cold start performance.
|
||||||
|
|
||||||
```ts [nuxt.config.js|ts]
|
```js [nuxt.config.js|ts]
|
||||||
export default {
|
export default {
|
||||||
nitro: {
|
nitro: {
|
||||||
preset: 'server',
|
preset: 'server',
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
Explore the Service worker preset with Nitro to push the boundaries of Nuxt rendering to the edge.
|
Explore the Service worker preset with Nitro to push the boundaries of Nuxt rendering to the edge.
|
||||||
|
|
||||||
::list
|
::list
|
||||||
|
|
||||||
- Can be used for edge-side rendering
|
- Can be used for edge-side rendering
|
||||||
- No dependency on Node.js
|
- No dependency on Node.js
|
||||||
- No Node.js environment and features
|
- No Node.js environment and features
|
||||||
@ -18,9 +19,9 @@ Deployment as service worker has some limitations since SSR code is not running
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
You can use the [Nuxt config](/docs/directory-structure/nuxt.config) to explicity set the preset to use:
|
You can use the [Nuxt config](/docs/directory-structure/nuxt.config) to explicitly set the preset to use:
|
||||||
|
|
||||||
```ts [nuxt.config.js|ts]
|
```js [nuxt.config.js|ts]
|
||||||
export default {
|
export default {
|
||||||
nitro: {
|
nitro: {
|
||||||
preset: 'worker'
|
preset: 'worker'
|
||||||
@ -34,7 +35,7 @@ Or directly use the `NITRO_PRESET` environment variable when running `nuxt build
|
|||||||
NITRO_PRESET=worker npx nuxt build
|
NITRO_PRESET=worker npx nuxt build
|
||||||
```
|
```
|
||||||
|
|
||||||
## Entrypoint
|
## Entry point
|
||||||
|
|
||||||
The worker preset produces a service worker that can provide full HTML rendering within a worker context (for example [Cloudflare Workers](/docs/deployment/cloudflare)). It registers appropriate handlers for `fetch`, `install` and `activate`.
|
The worker preset produces a service worker that can provide full HTML rendering within a worker context (for example [Cloudflare Workers](/docs/deployment/cloudflare)). It registers appropriate handlers for `fetch`, `install` and `activate`.
|
||||||
|
|
||||||
|
@ -20,12 +20,12 @@ Start with the Nuxt 3 or Nuxt Bridge sandbox and add the **minimum** amount of c
|
|||||||
|
|
||||||
**Nuxt 3**:
|
**Nuxt 3**:
|
||||||
|
|
||||||
:button-link[Nuxt 3 on StackBlitz]{href=https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz blank}
|
:button-link[Nuxt 3 on StackBlitz]{href="https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz" blank}
|
||||||
:button-link[Nuxt 3 on CodeSandBox]{href=https://codesandbox.io/s/github/nuxt/starter/tree/v3-codesandbox blank}
|
:button-link[Nuxt 3 on CodeSandBox]{href="https://codesandbox.io/s/github/nuxt/starter/tree/v3-codesandbox" blank}
|
||||||
|
|
||||||
**Nuxt Bridge**:
|
**Nuxt Bridge**:
|
||||||
|
|
||||||
:button-link[Nuxt Bridge on CodeSandBox]{href=https://codesandbox.io/s/github/nuxt/starter/tree/bridge-codesandbox blank}
|
:button-link[Nuxt Bridge on CodeSandBox]{href="https://codesandbox.io/s/github/nuxt/starter/tree/bridge-codesandbox" blank}
|
||||||
|
|
||||||
Once you've reproduced the issue, remove as much code from your reproduction as you can (while still recreating the bug). The time spent making the reproduction as minimal as possible will make a huge difference to whoever sets out to fix the issue.
|
Once you've reproduced the issue, remove as much code from your reproduction as you can (while still recreating the bug). The time spent making the reproduction as minimal as possible will make a huge difference to whoever sets out to fix the issue.
|
||||||
|
|
||||||
|
@ -24,11 +24,11 @@ Before you fix a bug or add a feature, ensure there's an issue that describes it
|
|||||||
|
|
||||||
2. Run `yarn` to install the dependencies.
|
2. Run `yarn` to install the dependencies.
|
||||||
|
|
||||||
> If you are adding a dependency, please use `yarn add`. The `yarn.lock` file is the source of truth for all Nuxt dependencies.
|
> If you are adding a dependency, please use `yarn add`. The `yarn.lock` file is the source of truth for all Nuxt dependencies.
|
||||||
|
|
||||||
3. Check out a branch where you can work and commit your changes:
|
3. Check out a branch where you can work and commit your changes:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git checkout -b my-new-branch
|
git checkout -b my-new-branch
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -7328,10 +7328,10 @@ mlly@^0.3.0:
|
|||||||
resolved "https://registry.yarnpkg.com/mlly/-/mlly-0.3.0.tgz#5705b2a95551d79ad33feedc046daf7c6d079748"
|
resolved "https://registry.yarnpkg.com/mlly/-/mlly-0.3.0.tgz#5705b2a95551d79ad33feedc046daf7c6d079748"
|
||||||
integrity sha512-6XphOVPsnIzuqNYlcZPMJhaMDDdrEgbLUlA7BPis8O0kkLPbOVA8GcXGeICGcnDotCtTkxAEWBT+FlhywrXTmg==
|
integrity sha512-6XphOVPsnIzuqNYlcZPMJhaMDDdrEgbLUlA7BPis8O0kkLPbOVA8GcXGeICGcnDotCtTkxAEWBT+FlhywrXTmg==
|
||||||
|
|
||||||
mlly@^0.3.1:
|
mlly@^0.3.6, mlly@^0.3.9:
|
||||||
version "0.3.1"
|
version "0.3.10"
|
||||||
resolved "https://registry.yarnpkg.com/mlly/-/mlly-0.3.1.tgz#2429360aadd06b65fc5a26e519ee8a40b2561b9a"
|
resolved "https://registry.yarnpkg.com/mlly/-/mlly-0.3.10.tgz#cf3353565c84e951311c46c8d2c8b320d90f9eb3"
|
||||||
integrity sha512-dtEsZue7NJy5Hhk6dsMoBjmJoZIZwyWvdN+X61cEtqjDFVRUskhWDBmn5EofDUWOkPrwur6GgpCRkXOAB4ISVw==
|
integrity sha512-vD3A7naDtIOqHYZhnYUrECRO6UODWNqz6T0TS/pxwolzVoWKX/mXJF1XSM3qxruCDtkzJbzJPgesByihY/r3EA==
|
||||||
|
|
||||||
move-concurrently@^1.0.1:
|
move-concurrently@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
@ -8165,12 +8165,13 @@ pkg-types@^0.2.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
jsonc-parser "^3.0.0"
|
jsonc-parser "^3.0.0"
|
||||||
|
|
||||||
pkg-types@^0.2.3:
|
pkg-types@^0.3.1:
|
||||||
version "0.2.3"
|
version "0.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-0.2.3.tgz#4355ee06518b278ae6473d1c1eaf35010d6cf798"
|
resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-0.3.1.tgz#d7a8b69efb8777a05afc5aabfc259a29a5d6d159"
|
||||||
integrity sha512-c05moyQEGO1z16NjidOZn2wQjuAi8CZKzPXmZBWLnnL3dRqDmeMWx3IxVSuYF7zKHkjQFJ9QH3Pas772a4iXQA==
|
integrity sha512-BjECNgz/tsyqg0/T4Z/U7WbFQXUT24nfkxPbALcrk/uHVeZf9MrGG4tfvYtu+jsrHCFMseLQ6woQddDEBATw3A==
|
||||||
dependencies:
|
dependencies:
|
||||||
jsonc-parser "^3.0.0"
|
jsonc-parser "^3.0.0"
|
||||||
|
mlly "^0.3.6"
|
||||||
pathe "^0.2.0"
|
pathe "^0.2.0"
|
||||||
|
|
||||||
plausible-tracker@^0.3.1:
|
plausible-tracker@^0.3.1:
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
"example": "yarn workspace example-$0 dev",
|
"example": "yarn workspace example-$0 dev",
|
||||||
"example:build": "yarn workspace example-$0 build",
|
"example:build": "yarn workspace example-$0 build",
|
||||||
"lint": "eslint --ext .vue,.ts,.js .",
|
"lint": "eslint --ext .vue,.ts,.js .",
|
||||||
|
"lint:docs": "./node_modules/.bin/markdownlint ./",
|
||||||
"test": "yarn lint && yarn test:presets",
|
"test": "yarn lint && yarn test:presets",
|
||||||
"test:presets": "mocha test/presets/*.mjs",
|
"test:presets": "mocha test/presets/*.mjs",
|
||||||
"test:bridge:webpack": "TEST_BRIDGE=1 yarn test:presets",
|
"test:bridge:webpack": "TEST_BRIDGE=1 yarn test:presets",
|
||||||
@ -46,6 +47,7 @@
|
|||||||
"globby": "^11.0.4",
|
"globby": "^11.0.4",
|
||||||
"jiti": "^1.12.9",
|
"jiti": "^1.12.9",
|
||||||
"lerna": "^4.0.0",
|
"lerna": "^4.0.0",
|
||||||
|
"markdownlint-cli": "^0.29.0",
|
||||||
"miniflare": "^1.4.1",
|
"miniflare": "^1.4.1",
|
||||||
"mocha": "^9.1.3",
|
"mocha": "^9.1.3",
|
||||||
"object-hash": "^2.2.0",
|
"object-hash": "^2.2.0",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
## Nuxt Bridge
|
# Nuxt Bridge
|
||||||
|
|
||||||
> Use backported Nuxt 3 features in Nuxt 2
|
> Use backported Nuxt 3 features in Nuxt 2
|
||||||
|
|
||||||
Learn more about this package: https://v3.nuxtjs.org/getting-started/bridge
|
Learn more about this package: <https://v3.nuxtjs.org/getting-started/bridge>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
## Nuxt Kit
|
# Nuxt Kit
|
||||||
|
|
||||||
> Toolkit for authoring Nuxt Modules
|
> Toolkit for authoring Nuxt Modules
|
||||||
|
|
||||||
Learn more about this package: https://v3.nuxtjs.org
|
Learn more about this package: <https://v3.nuxtjs.org>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
## Nitro
|
# Nitro
|
||||||
|
|
||||||
> The Server engine for Nuxt
|
> The Server engine for Nuxt
|
||||||
|
|
||||||
Learn more about this package: https://v3.nuxtjs.org/concepts/server-engine
|
Learn more about this package: <https://v3.nuxtjs.org/concepts/server-engine>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
## Nuxi
|
# Nuxi
|
||||||
|
|
||||||
> Nuxt Command Line Interface
|
> Nuxt Command Line Interface
|
||||||
|
|
||||||
Learn more about this package: https://v3.nuxtjs.org/getting-started/commands
|
Learn more about this package: <https://v3.nuxtjs.org/getting-started/commands>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
## Nuxt 3
|
# Nuxt 3
|
||||||
|
|
||||||
> The core of Nuxt 3
|
> The core of Nuxt 3
|
||||||
|
|
||||||
Learn more about this package: https://v3.nuxtjs.org
|
Learn more about this package: <https://v3.nuxtjs.org>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
## Nuxt Vite Builder
|
# Nuxt Vite Builder
|
||||||
|
|
||||||
> [Vite](https://vitejs.dev) bundler for Nuxt 3.
|
> [Vite](https://vitejs.dev) bundler for Nuxt 3.
|
||||||
|
|
||||||
Learn more about this package: https://v3.nuxtjs.org
|
Learn more about this package: <https://v3.nuxtjs.org>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
## Nuxt Webpack Builder
|
# Nuxt Webpack Builder
|
||||||
|
|
||||||
> The [Webpack](https://webpack.js.org) bundler for Nuxt 3
|
> The [Webpack](https://webpack.js.org) bundler for Nuxt 3
|
||||||
|
|
||||||
Learn more about this package: https://v3.nuxtjs.org
|
Learn more about this package: <https://v3.nuxtjs.org>
|
||||||
|
142
yarn.lock
142
yarn.lock
@ -7266,6 +7266,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"commander@npm:~8.2.0":
|
||||||
|
version: 8.2.0
|
||||||
|
resolution: "commander@npm:8.2.0"
|
||||||
|
checksum: e868805bc266777f7a9c8a740e15b9e02b8148d8251f577ea9b9ef373ac0bdeb77b9b60cfc033592c9e1affea89993be08c13c623f0c619f9bf152c0e4d12cb0
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"comment-parser@npm:1.2.4":
|
"comment-parser@npm:1.2.4":
|
||||||
version: 1.2.4
|
version: 1.2.4
|
||||||
resolution: "comment-parser@npm:1.2.4"
|
resolution: "comment-parser@npm:1.2.4"
|
||||||
@ -8316,7 +8323,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"deep-extend@npm:^0.6.0":
|
"deep-extend@npm:^0.6.0, deep-extend@npm:~0.6.0":
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
resolution: "deep-extend@npm:0.6.0"
|
resolution: "deep-extend@npm:0.6.0"
|
||||||
checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7
|
checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7
|
||||||
@ -8856,6 +8863,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"entities@npm:~2.1.0":
|
||||||
|
version: 2.1.0
|
||||||
|
resolution: "entities@npm:2.1.0"
|
||||||
|
checksum: a10a877e489586a3f6a691fe49bf3fc4e58f06c8e80522f08214a5150ba457e7017b447d4913a3fa041bda06ee4c92517baa4d8d75373eaa79369e9639225ffd
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1":
|
"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1":
|
||||||
version: 2.2.1
|
version: 2.2.1
|
||||||
resolution: "env-paths@npm:2.2.1"
|
resolution: "env-paths@npm:2.2.1"
|
||||||
@ -10633,6 +10647,13 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"get-stdin@npm:~8.0.0":
|
||||||
|
version: 8.0.0
|
||||||
|
resolution: "get-stdin@npm:8.0.0"
|
||||||
|
checksum: 40128b6cd25781ddbd233344f1a1e4006d4284906191ed0a7d55ec2c1a3e44d650f280b2c9eeab79c03ac3037da80257476c0e4e5af38ddfb902d6ff06282d77
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"get-stream@npm:^4.0.0":
|
"get-stream@npm:^4.0.0":
|
||||||
version: 4.1.0
|
version: 4.1.0
|
||||||
resolution: "get-stream@npm:4.1.0"
|
resolution: "get-stream@npm:4.1.0"
|
||||||
@ -10796,7 +10817,7 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7, glob@npm:^7.2.0":
|
"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7, glob@npm:^7.2.0, glob@npm:~7.2.0":
|
||||||
version: 7.2.0
|
version: 7.2.0
|
||||||
resolution: "glob@npm:7.2.0"
|
resolution: "glob@npm:7.2.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -11451,7 +11472,7 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"ignore@npm:^5.1.1, ignore@npm:^5.1.4, ignore@npm:^5.1.8":
|
"ignore@npm:^5.1.1, ignore@npm:^5.1.4, ignore@npm:^5.1.8, ignore@npm:~5.1.8":
|
||||||
version: 5.1.8
|
version: 5.1.8
|
||||||
resolution: "ignore@npm:5.1.8"
|
resolution: "ignore@npm:5.1.8"
|
||||||
checksum: 967abadb61e2cb0e5c5e8c4e1686ab926f91bc1a4680d994b91947d3c65d04c3ae126dcdf67f08e0feeb8ff8407d453e641aeeddcc47a3a3cca359f283cf6121
|
checksum: 967abadb61e2cb0e5c5e8c4e1686ab926f91bc1a4680d994b91947d3c65d04c3ae126dcdf67f08e0feeb8ff8407d453e641aeeddcc47a3a3cca359f283cf6121
|
||||||
@ -11574,6 +11595,13 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"ini@npm:~2.0.0":
|
||||||
|
version: 2.0.0
|
||||||
|
resolution: "ini@npm:2.0.0"
|
||||||
|
checksum: e7aadc5fb2e4aefc666d74ee2160c073995a4061556b1b5b4241ecb19ad609243b9cceafe91bae49c219519394bbd31512516cb22a3b1ca6e66d869e0447e84e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"init-package-json@npm:^2.0.2":
|
"init-package-json@npm:^2.0.2":
|
||||||
version: 2.0.5
|
version: 2.0.5
|
||||||
resolution: "init-package-json@npm:2.0.5"
|
resolution: "init-package-json@npm:2.0.5"
|
||||||
@ -12405,7 +12433,7 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"jsonc-parser@npm:^3.0.0":
|
"jsonc-parser@npm:^3.0.0, jsonc-parser@npm:~3.0.0":
|
||||||
version: 3.0.0
|
version: 3.0.0
|
||||||
resolution: "jsonc-parser@npm:3.0.0"
|
resolution: "jsonc-parser@npm:3.0.0"
|
||||||
checksum: 1df2326f1f9688de30c70ff19c5b2a83ba3b89a1036160da79821d1361090775e9db502dc57a67c11b56e1186fc1ed70b887f25c5febf9a3ec4f91435836c99d
|
checksum: 1df2326f1f9688de30c70ff19c5b2a83ba3b89a1036160da79821d1361090775e9db502dc57a67c11b56e1186fc1ed70b887f25c5febf9a3ec4f91435836c99d
|
||||||
@ -12617,6 +12645,15 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"linkify-it@npm:^3.0.1":
|
||||||
|
version: 3.0.3
|
||||||
|
resolution: "linkify-it@npm:3.0.3"
|
||||||
|
dependencies:
|
||||||
|
uc.micro: ^1.0.1
|
||||||
|
checksum: 31367a4bb70c5bbc9703246236b504b0a8e049bcd4e0de4291fa50f0ebdebf235b5eb54db6493cb0b1319357c6eeafc4324c9f4aa34b0b943d9f2e11a1268fbc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"listhen@npm:^0.2.4, listhen@npm:^0.2.5":
|
"listhen@npm:^0.2.4, listhen@npm:^0.2.5":
|
||||||
version: 0.2.5
|
version: 0.2.5
|
||||||
resolution: "listhen@npm:0.2.5"
|
resolution: "listhen@npm:0.2.5"
|
||||||
@ -12772,7 +12809,14 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"lodash.flatten@npm:^4.4.0":
|
"lodash.differencewith@npm:~4.5.0":
|
||||||
|
version: 4.5.0
|
||||||
|
resolution: "lodash.differencewith@npm:4.5.0"
|
||||||
|
checksum: 79b63aa84e9f7ddfd1451b0ce62888baf94474b91a79ca69da301b2073d3fe30bdfb1bcdbb7365592e1b4e63874ce72a271c0c75e43ab49968c1ca953893d258
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"lodash.flatten@npm:^4.4.0, lodash.flatten@npm:~4.4.0":
|
||||||
version: 4.4.0
|
version: 4.4.0
|
||||||
resolution: "lodash.flatten@npm:4.4.0"
|
resolution: "lodash.flatten@npm:4.4.0"
|
||||||
checksum: 0ac34a393d4b795d4b7421153d27c13ae67e08786c9cbb60ff5b732210d46f833598eee3fb3844bb10070e8488efe390ea53bb567377e0cb47e9e630bf0811cb
|
checksum: 0ac34a393d4b795d4b7421153d27c13ae67e08786c9cbb60ff5b732210d46f833598eee3fb3844bb10070e8488efe390ea53bb567377e0cb47e9e630bf0811cb
|
||||||
@ -13066,6 +13110,61 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"markdown-it@npm:12.2.0":
|
||||||
|
version: 12.2.0
|
||||||
|
resolution: "markdown-it@npm:12.2.0"
|
||||||
|
dependencies:
|
||||||
|
argparse: ^2.0.1
|
||||||
|
entities: ~2.1.0
|
||||||
|
linkify-it: ^3.0.1
|
||||||
|
mdurl: ^1.0.1
|
||||||
|
uc.micro: ^1.0.5
|
||||||
|
bin:
|
||||||
|
markdown-it: bin/markdown-it.js
|
||||||
|
checksum: 8e3d6646edf8e7ef19ed707c59d16741bd40804f1e7567407efd2f346ae0f7ddcdeada83e7affebd21b9d7d947b27fc60fd795a970461785030a4e52e750122b
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"markdownlint-cli@npm:^0.29.0":
|
||||||
|
version: 0.29.0
|
||||||
|
resolution: "markdownlint-cli@npm:0.29.0"
|
||||||
|
dependencies:
|
||||||
|
commander: ~8.2.0
|
||||||
|
deep-extend: ~0.6.0
|
||||||
|
get-stdin: ~8.0.0
|
||||||
|
glob: ~7.2.0
|
||||||
|
ignore: ~5.1.8
|
||||||
|
js-yaml: ^4.1.0
|
||||||
|
jsonc-parser: ~3.0.0
|
||||||
|
lodash.differencewith: ~4.5.0
|
||||||
|
lodash.flatten: ~4.4.0
|
||||||
|
markdownlint: ~0.24.0
|
||||||
|
markdownlint-rule-helpers: ~0.15.0
|
||||||
|
minimatch: ~3.0.4
|
||||||
|
minimist: ~1.2.5
|
||||||
|
run-con: ~1.2.10
|
||||||
|
bin:
|
||||||
|
markdownlint: markdownlint.js
|
||||||
|
checksum: 4bc748bbfdb7a6d6067453cb1626f7bb2467f5492d71d57e9e5c3e3858edd8e4c41ca4b557eac06e7c72841c484d62a76cda749143e1865721ce8c72d2da4052
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"markdownlint-rule-helpers@npm:~0.15.0":
|
||||||
|
version: 0.15.0
|
||||||
|
resolution: "markdownlint-rule-helpers@npm:0.15.0"
|
||||||
|
checksum: c8cc35fdadf1908e89d08cffa6ab917c56656cd1f4a4bc04f0640a6835658a26d5917251d6d76aea23c242488e51ea86211115f3af102f1925f339e4d3a2b271
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"markdownlint@npm:~0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "markdownlint@npm:0.24.0"
|
||||||
|
dependencies:
|
||||||
|
markdown-it: 12.2.0
|
||||||
|
checksum: 5308070947796d706e752e7dfe6c741fe613d007be152e710a1fb7bbe2f0481beb2be4c0ed053065aea631daeac3f86d66e5e8cb9a753febf35158930771f34f
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"md5.js@npm:^1.3.4":
|
"md5.js@npm:^1.3.4":
|
||||||
version: 1.3.5
|
version: 1.3.5
|
||||||
resolution: "md5.js@npm:1.3.5"
|
resolution: "md5.js@npm:1.3.5"
|
||||||
@ -13091,6 +13190,13 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"mdurl@npm:^1.0.1":
|
||||||
|
version: 1.0.1
|
||||||
|
resolution: "mdurl@npm:1.0.1"
|
||||||
|
checksum: 71731ecba943926bfbf9f9b51e28b5945f9411c4eda80894221b47cc105afa43ba2da820732b436f0798fd3edbbffcd1fc1415843c41a87fea08a41cc1e3d02b
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"mem@npm:^8.1.1":
|
"mem@npm:^8.1.1":
|
||||||
version: 8.1.1
|
version: 8.1.1
|
||||||
resolution: "mem@npm:8.1.1"
|
resolution: "mem@npm:8.1.1"
|
||||||
@ -13368,7 +13474,7 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"minimist@npm:^1.2.0, minimist@npm:^1.2.5":
|
"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:~1.2.5":
|
||||||
version: 1.2.5
|
version: 1.2.5
|
||||||
resolution: "minimist@npm:1.2.5"
|
resolution: "minimist@npm:1.2.5"
|
||||||
checksum: 86706ce5b36c16bfc35c5fe3dbb01d5acdc9a22f2b6cc810b6680656a1d2c0e44a0159c9a3ba51fb072bb5c203e49e10b51dcd0eec39c481f4c42086719bae52
|
checksum: 86706ce5b36c16bfc35c5fe3dbb01d5acdc9a22f2b6cc810b6680656a1d2c0e44a0159c9a3ba51fb072bb5c203e49e10b51dcd0eec39c481f4c42086719bae52
|
||||||
@ -14386,6 +14492,7 @@ fsevents@~2.3.2:
|
|||||||
globby: ^11.0.4
|
globby: ^11.0.4
|
||||||
jiti: ^1.12.9
|
jiti: ^1.12.9
|
||||||
lerna: ^4.0.0
|
lerna: ^4.0.0
|
||||||
|
markdownlint-cli: ^0.29.0
|
||||||
miniflare: ^1.4.1
|
miniflare: ^1.4.1
|
||||||
mocha: ^9.1.3
|
mocha: ^9.1.3
|
||||||
object-hash: ^2.2.0
|
object-hash: ^2.2.0
|
||||||
@ -17579,6 +17686,20 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"run-con@npm:~1.2.10":
|
||||||
|
version: 1.2.10
|
||||||
|
resolution: "run-con@npm:1.2.10"
|
||||||
|
dependencies:
|
||||||
|
deep-extend: ^0.6.0
|
||||||
|
ini: ~2.0.0
|
||||||
|
minimist: ^1.2.5
|
||||||
|
strip-json-comments: ~3.1.1
|
||||||
|
bin:
|
||||||
|
run-con: cli.js
|
||||||
|
checksum: 5aea5bf2bc2e61cf407f6751797fe1e4f155ff98479d17ec9fa004fed8edfa95950ac9d022871dbd2faabbd27956a1e774b3ff2beed2289337244bd957ed50ff
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"run-parallel@npm:^1.1.9":
|
"run-parallel@npm:^1.1.9":
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
resolution: "run-parallel@npm:1.2.0"
|
resolution: "run-parallel@npm:1.2.0"
|
||||||
@ -18566,7 +18687,7 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1":
|
"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1, strip-json-comments@npm:~3.1.1":
|
||||||
version: 3.1.1
|
version: 3.1.1
|
||||||
resolution: "strip-json-comments@npm:3.1.1"
|
resolution: "strip-json-comments@npm:3.1.1"
|
||||||
checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443
|
checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443
|
||||||
@ -19356,6 +19477,13 @@ fsevents@~2.3.2:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5":
|
||||||
|
version: 1.0.6
|
||||||
|
resolution: "uc.micro@npm:1.0.6"
|
||||||
|
checksum: 6898bb556319a38e9cf175e3628689347bd26fec15fc6b29fa38e0045af63075ff3fea4cf1fdba9db46c9f0cbf07f2348cd8844889dd31ebd288c29fe0d27e7a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"ufo@npm:^0.7.4, ufo@npm:^0.7.9":
|
"ufo@npm:^0.7.4, ufo@npm:^0.7.9":
|
||||||
version: 0.7.9
|
version: 0.7.9
|
||||||
resolution: "ufo@npm:0.7.9"
|
resolution: "ufo@npm:0.7.9"
|
||||||
|
Loading…
Reference in New Issue
Block a user