This repository has been archived by the owner on Apr 6, 2023. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/HEAD'
- Loading branch information
1 parent
966d6ab
commit 3f0fa07
Showing
297 changed files
with
4,349 additions
and
2,827 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
name: docs-e2e | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
url: | ||
required: false | ||
description: The URL to run the test suite against. | ||
type: string | ||
deployment_status: | ||
|
||
jobs: | ||
crawl-docs: | ||
environment: | ||
name: ${{ github.event.deployment.environment || 'Production' }} | ||
url: ${{ github.event.inputs.url || github.event.deployment.payload.web_url || github.event.deployment_status.target_url }} | ||
if: github.event.deployment_status.state == 'success' || github.event_name == 'workflow_dispatch' | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node }} | ||
cache: "yarn" | ||
|
||
- name: Install dependencies | ||
run: yarn --immutable | ||
|
||
- run: node ./scripts/crawl.mjs | ||
env: | ||
BASE_URL: ${{ github.event.inputs.url || github.event.deployment.payload.web_url || github.event.deployment_status.target_url }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
schema | ||
**/*.configuration/nuxt.config.md | ||
**/*.configuration/nuxt-config.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
# Deployment | ||
|
||
A Nuxt application can be deployed on a Node.js server, pre-rendered for static hosting, or deployed to serverless or edge (CDN) environments. | ||
|
||
::alert{type=info} | ||
If you are looking for a list of cloud providers that support Nuxt 3, see the [list below](#supported-hosting-providers). | ||
:: | ||
|
||
## Node.js Server | ||
|
||
Discover the Node.js server preset with Nitro to deploy on any Node hosting. | ||
|
||
::list | ||
|
||
- **Default output format** if none is specified or auto-detected <br> | ||
- Loads only the required chunks to render the request for optimal cold start timing <br> | ||
- Useful for deploying Nuxt apps to any Node.js hosting | ||
:: | ||
|
||
### Entry Point | ||
|
||
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 | ||
node .output/server/index.mjs | ||
``` | ||
|
||
### Example | ||
|
||
```bash | ||
$ node .output/server/index.mjs | ||
Listening on http://localhost:3000 | ||
``` | ||
|
||
### Configuring Defaults at Runtime | ||
|
||
This preset will respect the following runtime environment variables: | ||
|
||
- `NITRO_PORT` or `PORT` (defaults to `3000`) | ||
- `NITRO_HOST` or `HOST` (defaults to `'0.0.0.0'`) | ||
- `NITRO_SSL_CERT` and `NITRO_SSL_KEY` - if both are present, this will launch the server in HTTPS mode. In the vast majority of cases, this should not be used other than for testing, and the Nitro server should be run behind a reverse proxy like nginx or Cloudflare which terminates SSL. | ||
|
||
#### Using PM2 | ||
|
||
To use `pm2`, use an `ecosystem.config.js`: | ||
|
||
```js [ecosystem.config.js] | ||
module.exports = { | ||
apps: [ | ||
{ | ||
name: 'NuxtAppName', | ||
exec_mode: 'cluster', | ||
instances: 'max', | ||
script: './.output/server/index.mjs' | ||
} | ||
] | ||
} | ||
``` | ||
|
||
#### Using Cluster Mode | ||
|
||
You can use `NITRO_PRESET=node_cluster` in order to leverage multi-process performance using Node.js [cluster](https://nodejs.org/dist/latest/docs/api/cluster.html) module. | ||
|
||
By default, the workload gets distributed to the workers with the round robin strategy. | ||
|
||
### Learn More | ||
|
||
:ReadMore{link="https://nitro.unjs.io/deploy/node" title="the Nitro documentation for node-server preset"} | ||
|
||
## Static Hosting | ||
|
||
There are two ways to deploy a Nuxt application to any static hosting services: | ||
|
||
- Static site generation (SSG) pre-renders routes of your application at build time. | ||
- Using `ssr: false` to produce a pure client-side output. | ||
|
||
### Crawl-based Pre-rendering | ||
|
||
Use the [`nuxi generate` command](/api/commands/generate) to build your application. For every page, Nuxt uses a crawler to generate a corresponding HTML and payload files. The built files will be generated in the `.output/public` directory. | ||
|
||
```bash | ||
npx nuxi generate | ||
``` | ||
|
||
### Manual Pre-rendering | ||
|
||
You can manually specify routes that [Nitro](/guide/concepts/server-engine) will fetch and pre-render during the build. | ||
|
||
```ts [nuxt.config.ts|js] | ||
defineNuxtConfig({ | ||
nitro: { | ||
prerender: { | ||
routes: ['/user/1', '/user/2'] | ||
} | ||
} | ||
}) | ||
``` | ||
|
||
### Client-side Only Rendering | ||
|
||
If you don't want to pre-render your routes, another way of using static hosting is to set the `ssr` property to `false` in the `nuxt.config` file. The `nuxi generate` command will then output an `.output/public/index.html` entrypoint and JavaScript bundles like a classic client-side Vue.js application. | ||
|
||
```ts [nuxt.config.ts|js] | ||
defineNuxtConfig({ | ||
ssr: false | ||
}) | ||
``` | ||
|
||
## Presets | ||
|
||
In addition to Node.js servers and static hosting services, a Nuxt 3 project can be deployed with several well-tested presets and minimal amount of configuration. | ||
|
||
You can explicitly set the desired preset in the [`nuxt.config`](/guide/directory-structure/nuxt.config) file: | ||
|
||
```js [nuxt.config.js|ts] | ||
export default { | ||
nitro: { | ||
preset: 'node-server' | ||
} | ||
} | ||
``` | ||
|
||
... or use the `NITRO_PRESET` environment variable when running `nuxt build`: | ||
|
||
```bash | ||
NITRO_PRESET=node-server nuxt build | ||
``` | ||
|
||
🔎 Check [the Nitro deployment](https://nitro.unjs.io/deploy) for all possible deployment presets and providers. | ||
|
||
### Supported Hosting Providers | ||
|
||
Nuxt 3 can be deployed to several cloud providers with a minimal amount of configuration: | ||
|
||
- :IconCloud{class="h-5 w-4 inline mb-2"} [AWS](https://nitro.unjs.io/deploy/providers/aws) | ||
- :LogoAzure{class="h-5 w-4 inline mb-2"} [Azure](https://nitro.unjs.io/deploy/providers/azure) | ||
- :LogoCloudFlare{class="h-5 w-4 inline mb-2"} [CloudFlare](https://nitro.unjs.io/deploy/providers/cloudflare) | ||
- :IconCloud{class="h-5 w-4 inline mb-2"} [Digital Ocean](https://nitro.unjs.io/deploy/providers/digitalocean) | ||
- :LogoFirebase{class="h-5 w-4 inline mb-2"} [Firebase](https://nitro.unjs.io/deploy/providers/firebase) | ||
- :IconCloud{class="h-5 w-4 inline mb-2"} [heroku](https://nitro.unjs.io/deploy/providers/heroku) | ||
- :IconCloud{class="h-5 w-4 inline mb-2"} [layer0](https://nitro.unjs.io/deploy/providers/layer0) | ||
- :LogoNetlify{class="h-5 w-4 inline mb-2"} [Netlify](https://nitro.unjs.io/deploy/providers/netlify) | ||
- :IconCloud{class="h-5 w-4 inline mb-2"} [Render](https://nitro.unjs.io/deploy/providers/render) | ||
- :IconCloud{class="h-5 w-4 inline mb-2"} [Stormkit](https://nitro.unjs.io/deploy/providers/stormkit) | ||
- :LogoVercel{class="h-5 w-4 inline mb-2"} [Vercel](https://nitro.unjs.io/deploy/providers/vercel) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Upgrade Guide | ||
|
||
Have a Nuxt 2 project to migrate? Use these guides to upgrade your Nuxt applications to Nuxt 3 or take the first step in that direction with Nuxt Bridge. | ||
|
||
If you are already using Nuxt 3 and want to upgrade to the latest release or test new features before their release, head over to the [Upgrading Nuxt 3](#upgrading-nuxt-3) section. | ||
|
||
## Feature Comparison | ||
|
||
In the table below, there is a quick comparison between 3 versions of Nuxt: | ||
|
||
Feature / Version | Nuxt 2 | Nuxt Bridge | Nuxt 3 | ||
-------------------------|-----------------|------------------|--------- | ||
Vue | 2 | 2 | 3 | ||
Stability | 😊 Stable | 😌 Semi-stable | Release candidate | ||
Performance | 🏎 Fast | ✈️ Faster | 🚀 Fastest | ||
Nitro Engine | ❌ | ✅ | ✅ | ||
ESM support | 🌙 Partial | 👍 Better | ✅ | ||
TypeScript | ☑️ Opt-in | 🚧 Partial | ✅ | ||
Composition API | ❌ | 🚧 Partial | ✅ | ||
Options API | ✅ | ✅ | ✅ | ||
Components Auto Import | ✅ | ✅ | ✅ | ||
`<script setup>` syntax | ❌ | 🚧 Partial | ✅ | ||
Auto Imports | ❌ | ✅ | ✅ | ||
Webpack | 4 | 4 | 5 | ||
Vite | ⚠️ Partial | 🚧 Partial | ✅ | ||
Nuxi CLI | ❌ Old | ✅ nuxi | ✅ nuxi | ||
Static sites | ✅ | ✅ | ✅ | ||
|
||
## Nuxt 2 to Nuxt 3 | ||
|
||
The migration guide provides a step-by-step comparison of Nuxt 2 features to Nuxt 3 features and guidance to adapt your current application. | ||
|
||
::alert{type=info icon=👉} | ||
[**Migrate from From Nuxt 2 to Nuxt 3**](/migration/overview) | ||
:: | ||
|
||
## Nuxt 2 to Nuxt Bridge | ||
|
||
If you prefer to progressively migrate your Nuxt 2 application to Nuxt 3, you can use Nuxt Bridge. Nuxt Bridge is a compatibility layer that allows you to use Nuxt 3 features in Nuxt 2 with an opt-in mechanism. | ||
|
||
::alert{type=info icon=👉} | ||
[**Migrate from Nuxt 2 to Nuxt Bridge**](/bridge/overview) | ||
:: | ||
|
||
## Upgrading Nuxt 3 | ||
|
||
### Latest release | ||
|
||
To upgrade Nuxt 3 to the latest release, use the `nuxi upgrade` command. | ||
|
||
```bash | ||
npx nuxi upgrade | ||
``` | ||
|
||
### Edge release channel | ||
|
||
::alert{type=info icon=👉} | ||
To use the latest Nuxt 3 build and test features before their release, read the [edge release channel](/guide/going-further/edge-channel) guide. | ||
:: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.