mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-22 13:45:18 +00:00
feat(nuxi): support --dotenv
for dev
, build
and preview
commands (#7660)
This commit is contained in:
parent
4c5048826c
commit
2e080c259f
@ -1,7 +1,7 @@
|
|||||||
# `nuxi build`
|
# `nuxi build`
|
||||||
|
|
||||||
```{bash}
|
```{bash}
|
||||||
npx nuxi build [rootDir]
|
npx nuxi build [rootDir] [--prerender] [--dotenv]
|
||||||
```
|
```
|
||||||
|
|
||||||
The `build` command creates a `.output` directory with all your application, server and dependencies ready for production.
|
The `build` command creates a `.output` directory with all your application, server and dependencies ready for production.
|
||||||
@ -9,6 +9,7 @@ The `build` command creates a `.output` directory with all your application, ser
|
|||||||
Option | Default | Description
|
Option | Default | Description
|
||||||
-------------------------|-----------------|------------------
|
-------------------------|-----------------|------------------
|
||||||
`rootDir` | `.` | The root directory of the application to bundle.
|
`rootDir` | `.` | The root directory of the application to bundle.
|
||||||
`prerender` | `false` | Pre-render every route of your application. (**note:** This is an experimental flag. The behavior might be changed.)
|
`--prerender` | `false` | Pre-render every route of your application. (**note:** This is an experimental flag. The behavior might be changed.)
|
||||||
|
`--dotenv` | `.` | Point to another `.env` file to load, **relative** to the root directory.
|
||||||
|
|
||||||
This command sets `process.env.NODE_ENV` to `production`.
|
This command sets `process.env.NODE_ENV` to `production`.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# `nuxi dev`
|
# `nuxi dev`
|
||||||
|
|
||||||
```{bash}
|
```{bash}
|
||||||
npx nuxi dev [rootDir] [--clipboard] [--open, -o] [--no-clear] [--port, -p] [--host, -h] [--https] [--ssl-cert] [--ssl-key]
|
npx nuxi dev [rootDir] [--dotenv] [--clipboard] [--open, -o] [--no-clear] [--port, -p] [--host, -h] [--https] [--ssl-cert] [--ssl-key]
|
||||||
```
|
```
|
||||||
|
|
||||||
The `dev` command starts a development server with hot module replacement at [http://localhost:3000](https://localhost:3000)
|
The `dev` command starts a development server with hot module replacement at [http://localhost:3000](https://localhost:3000)
|
||||||
@ -9,6 +9,7 @@ The `dev` command starts a development server with hot module replacement at [ht
|
|||||||
Option | Default | Description
|
Option | Default | Description
|
||||||
-------------------------|-----------------|------------------
|
-------------------------|-----------------|------------------
|
||||||
`rootDir` | `.` | The root directory of the application to serve.
|
`rootDir` | `.` | The root directory of the application to serve.
|
||||||
|
`--dotenv` | `.` | Point to another `.env` file to load, **relative** to the root directory.
|
||||||
`--clipboard` | `false` | Copy URL to clipboard.
|
`--clipboard` | `false` | Copy URL to clipboard.
|
||||||
`--open, -o` | `false` | Open URL in browser.
|
`--open, -o` | `false` | Open URL in browser.
|
||||||
`--no-clear` | `false` | Does not clear the console after startup.
|
`--no-clear` | `false` | Does not clear the console after startup.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# `nuxi preview`
|
# `nuxi preview`
|
||||||
|
|
||||||
```{bash}
|
```{bash}
|
||||||
npx nuxi preview [rootDir]
|
npx nuxi preview [rootDir] [--dotenv]
|
||||||
```
|
```
|
||||||
|
|
||||||
The `preview` command starts a server to preview your Nuxt application after running the `build` command.
|
The `preview` command starts a server to preview your Nuxt application after running the `build` command.
|
||||||
@ -9,6 +9,7 @@ The `preview` command starts a server to preview your Nuxt application after run
|
|||||||
Option | Default | Description
|
Option | Default | Description
|
||||||
-------------------------|-----------------|------------------
|
-------------------------|-----------------|------------------
|
||||||
`rootDir` | `.` | The root directory of the application to preview.
|
`rootDir` | `.` | The root directory of the application to preview.
|
||||||
|
`--dotenv` | `.` | Point to another `.env` file to load, **relative** to the root directory.
|
||||||
|
|
||||||
This command sets `process.env.NODE_ENV` to `production`. To override, define `NODE_ENV` in a `.env` file or as command-line argument.
|
This command sets `process.env.NODE_ENV` to `production`. To override, define `NODE_ENV` in a `.env` file or as command-line argument.
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import { defineNuxtCommand } from './index'
|
|||||||
export default defineNuxtCommand({
|
export default defineNuxtCommand({
|
||||||
meta: {
|
meta: {
|
||||||
name: 'build',
|
name: 'build',
|
||||||
usage: 'npx nuxi build [--prerender] [rootDir]',
|
usage: 'npx nuxi build [--prerender] [--dotenv] [rootDir]',
|
||||||
description: 'Build nuxt for production deployment'
|
description: 'Build nuxt for production deployment'
|
||||||
},
|
},
|
||||||
async invoke (args) {
|
async invoke (args) {
|
||||||
@ -23,6 +23,10 @@ export default defineNuxtCommand({
|
|||||||
|
|
||||||
const nuxt = await loadNuxt({
|
const nuxt = await loadNuxt({
|
||||||
rootDir,
|
rootDir,
|
||||||
|
dotenv: {
|
||||||
|
cwd: rootDir,
|
||||||
|
fileName: args.dotenv
|
||||||
|
},
|
||||||
overrides: {
|
overrides: {
|
||||||
_generate: args.prerender
|
_generate: args.prerender
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ import { defineNuxtCommand } from './index'
|
|||||||
export default defineNuxtCommand({
|
export default defineNuxtCommand({
|
||||||
meta: {
|
meta: {
|
||||||
name: 'dev',
|
name: 'dev',
|
||||||
usage: 'npx nuxi dev [rootDir] [--clipboard] [--open, -o] [--port, -p] [--host, -h] [--https] [--ssl-cert] [--ssl-key]',
|
usage: 'npx nuxi dev [rootDir] [--dotenv] [--clipboard] [--open, -o] [--port, -p] [--host, -h] [--https] [--ssl-cert] [--ssl-key]',
|
||||||
description: 'Run nuxt development server'
|
description: 'Run nuxt development server'
|
||||||
},
|
},
|
||||||
async invoke (args) {
|
async invoke (args) {
|
||||||
@ -40,7 +40,7 @@ export default defineNuxtCommand({
|
|||||||
const rootDir = resolve(args._[0] || '.')
|
const rootDir = resolve(args._[0] || '.')
|
||||||
showVersions(rootDir)
|
showVersions(rootDir)
|
||||||
|
|
||||||
await setupDotenv({ cwd: rootDir })
|
await setupDotenv({ cwd: rootDir, fileName: args.dotenv })
|
||||||
|
|
||||||
const listener = await listen(serverHandler, {
|
const listener = await listen(serverHandler, {
|
||||||
showURL: false,
|
showURL: false,
|
||||||
|
@ -10,7 +10,7 @@ import { defineNuxtCommand } from './index'
|
|||||||
export default defineNuxtCommand({
|
export default defineNuxtCommand({
|
||||||
meta: {
|
meta: {
|
||||||
name: 'preview',
|
name: 'preview',
|
||||||
usage: 'npx nuxi preview|start [rootDir]',
|
usage: 'npx nuxi preview|start [--dotenv] [rootDir]',
|
||||||
description: 'Launches nitro server for local testing after `nuxi build`.'
|
description: 'Launches nitro server for local testing after `nuxi build`.'
|
||||||
},
|
},
|
||||||
async invoke (args) {
|
async invoke (args) {
|
||||||
@ -35,9 +35,10 @@ export default defineNuxtCommand({
|
|||||||
process.exit(1)
|
process.exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (existsSync(resolve(rootDir, '.env'))) {
|
const envExists = args.dotenv ? existsSync(resolve(rootDir, args.dotenv)) : existsSync(rootDir)
|
||||||
|
if (envExists) {
|
||||||
consola.info('Loading `.env`. This will not be loaded when running the server in production.')
|
consola.info('Loading `.env`. This will not be loaded when running the server in production.')
|
||||||
await setupDotenv({ cwd: rootDir })
|
await setupDotenv({ cwd: rootDir, fileName: args.dotenv })
|
||||||
}
|
}
|
||||||
|
|
||||||
consola.info('Starting preview command:', nitroJSON.commands.preview)
|
consola.info('Starting preview command:', nitroJSON.commands.preview)
|
||||||
|
Loading…
Reference in New Issue
Block a user