nuxt logo

ドキュメント翻訳(非公式)

Nuxt 設定

nuxt.config.ts ファイルで使用できるすべてのオプションを発見してください。

alias

JavaScript や CSS 内でカスタムディレクトリにアクセスするための追加のエイリアスを定義することで、DX を向上させることができます。

  • : object
  • デフォルト
{
  "~": "/<srcDir>",
  "@": "/<srcDir>",
  "~~": "/<rootDir>",
  "@@": "/<rootDir>",
  "#shared": "/<rootDir>/shared",
  "assets": "/<srcDir>/assets",
  "public": "/<rootDir>/public",
  "#build": "/<rootDir>/.nuxt",
  "#internal/nuxt/paths": "/<rootDir>/.nuxt/paths.mjs"
}

注意: webpack のコンテキスト内(画像ソース、CSS - ただし JavaScript ではない)では、エイリアスにアクセスする際に ~ をプレフィックスとして付ける必要があります。

注意: これらのエイリアスは、生成された TypeScript 設定(.nuxt/tsconfig.app.json.nuxt/tsconfig.server.json など)に自動的に追加されるため、完全な型サポートとパスの自動補完が可能です。生成された設定によって提供されるオプションをさらに拡張する必要がある場合は、ここに追加するか、nuxt.configtypescript.tsConfig プロパティ内に追加してください。

:

import { fileURLToPath } from "node:url";

export default defineNuxtConfig({
  alias: {
    'images': fileURLToPath(new URL('./assets/images', import.meta.url)),
    'style': fileURLToPath(new URL('./assets/style', import.meta.url)),
    'data': fileURLToPath(new URL('./assets/other/data', import.meta.url))
  }
})
<template>
  <img src="~images/main-bg.jpg">
</template>

<script>
import data from 'data/test.json'
</script>

<style>
// 以下をコメント解除
//@import '~style/variables.scss';
//@import '~style/utils.scss';
//@import '~style/base.scss';
body {
  background-image: url('~images/main-bg.jpg');
}
</style>

analyzeDir

nuxt analyze を実行した際に Nuxt が生成ファイルを保存するディレクトリ。

相対パスが指定された場合、それは rootDir に対して相対的になります。

  • : string
  • デフォルト: "/<rootDir>/.nuxt/analyze"

app

Nuxt アプリケーションの設定。

baseURL

Nuxt アプリケーションのベースパス。

例:

  • : string
  • デフォルト: "/"

:

export default defineNuxtConfig({
  app: {
    baseURL: '/prefix/'
  }
})

これは、NUXT_APP_BASE_URL 環境変数を設定することで実行時に設定することもできます。

:

NUXT_APP_BASE_URL=/prefix/ node .output/server/index.mjs

buildAssetsDir

ビルドされたサイトアセットのフォルダ名。baseURL(または設定されている場合は cdnURL)に対して相対的です。これはビルド時に設定され、実行時にカスタマイズすべきではありません。

  • : string
  • デフォルト: "/_nuxt/"

cdnURL

パブリックフォルダを提供するための絶対 URL(プロダクションのみ)。

例:

  • : string
  • デフォルト: ""

:

export default defineNuxtConfig({
  app: {
    cdnURL: 'https://mycdn.org/'
  }
})

これは、NUXT_APP_CDN_URL 環境変数を設定することで実行時に異なる値に設定できます。

:

NUXT_APP_CDN_URL=https://mycdn.org/ node .output/server/index.mjs

各ページの <head> のデフォルト設定を設定します。

  • : object
  • デフォルト
{
  "meta": [
    {
      "name": "viewport",
      "content": "width=device-width, initial-scale=1"
    },
    {
      "charset": "utf-8"
    }
  ],
  "link": [],
  "style": [],
  "script": [],
  "noscript": []
}

:

app: {
  head: {
    meta: [
      // <meta name="viewport" content="width=device-width, initial-scale=1">
      { name: 'viewport', content: 'width=device-width, initial-scale=1' }
    ],
    script: [
      // <script src="https://myawesome-lib.js"></script>
      { src: 'https://awesome-lib.js' }
    ],
    link: [
      // <link rel="stylesheet" href="https://myawesome-lib.css">
      { rel: 'stylesheet', href: 'https://awesome-lib.css' }
    ],
    // このエリアは変更される可能性があることに注意してください
    style: [
      // <style>:root { color: red }</style>
      { textContent: ':root { color: red }' }
    ],
    noscript: [
      // <noscript>JavaScript is required</noscript>
      { textContent: 'JavaScript is required' }
    ]
  }
}

keepalive

ページ間の KeepAlive 設定のデフォルト値。

これは個々のページで definePageMeta を使用して上書きできます。JSON シリアライズ可能な値のみが許可されます。

  • : boolean
  • デフォルト: false

参照: Vue KeepAlive

layoutTransition

レイアウト遷移のデフォルト値。

これは個々のページで definePageMeta を使用して上書きできます。JSON シリアライズ可能な値のみが許可されます。

  • : boolean
  • デフォルト: false

参照: Vue Transition ドキュメント

pageTransition

ページ遷移のデフォルト値。

これは個々のページで definePageMeta を使用して上書きできます。JSON シリアライズ可能な値のみが許可されます。

  • : boolean
  • デフォルト: false

参照: Vue Transition ドキュメント

rootAttrs

Nuxt ルート要素の id をカスタマイズします。

  • : object
  • デフォルト
{
  "id": "__nuxt"
}

rootId

Nuxt ルート要素の id をカスタマイズします。

  • : string
  • デフォルト: "__nuxt"

rootTag

Nuxt ルート要素のタグをカスタマイズします。

  • : string
  • デフォルト: "div"

spaLoaderAttrs

Nuxt SPA ローディングテンプレート要素の属性をカスタマイズします。

  • : object
  • デフォルト:
{
"id": "__nuxt-loader"
}

id

  • : string
  • デフォルト: "__nuxt-loader"

spaLoaderTag

Nuxt SpaLoader 要素のタグをカスタマイズします。

  • : string
  • デフォルト: "div"

teleportAttrs

Nuxt Teleport 要素の属性をカスタマイズします。

  • : object
  • デフォルト
{
  "id": "teleports"
}

teleportId

Nuxt Teleport 要素の id をカスタマイズします。

  • : string
  • デフォルト: "teleports"

teleportTag

Nuxt Teleport 要素のタグをカスタマイズします。

  • : string
  • デフォルト: "div"

viewTransition

ビュー遷移のデフォルト値。

これは、ビュー遷移の 実験的 サポートが nuxt.config ファイルで有効にされている場合 のみ効果があります。 これは個々のページで definePageMeta を使用して上書きできます。

  • : boolean
  • デフォルト: false

参照: Nuxt View Transition API ドキュメント

appConfig

追加のアプリケーション設定

プログラム的な使用と型サポートのために、このオプションで直接アプリケーション設定を提供できます。これはデフォルト値として app.config ファイルとマージされます。

nuxt

appId

マルチアプリプロジェクトの場合、Nuxt アプリケーションのユニークな id。

デフォルトは nuxt-app です。

  • : string
  • デフォルト: "nuxt-app"

build

共有ビルド設定。

analyze

Nuxt はバンドルを視覚化し、最適化方法を提供します。

バンドル分析を有効にするには true に設定するか、オプションを含むオブジェクトを渡します: webpack 用 または vite 用

  • : object
  • デフォルト
{
  "template": "treemap",
  "projectRoot": "/<rootDir>",
  "filename": "/<rootDir>/.nuxt/analyze/{name}.html"
}

:

analyze: {
  analyzerMode: 'static'
}

templates

このオプションの代わりに @nuxt/kitaddTemplate を使用することをお勧めします。

  • : array

:

templates: [
  {
    src: '~/modules/support/plugin.js', // `src` は絶対パスまたは相対パス
    dst: 'support.js', // `dst` はプロジェクトの `.nuxt` ディレクトリに対して相対的
  }
]

transpile

特定の依存関係を Babel でトランスパイルしたい場合は、ここに追加できます。transpile の各項目は、パッケージ名、関数、文字列、または依存関係のファイル名に一致する正規表現オブジェクトであることができます。

条件付きでトランスパイルするために関数を使用することもできます。関数はオブジェクト({ isDev, isServer, isClient, isModern, isLegacy })を受け取ります。

  • : array

:

transpile: [({ isLegacy }) => isLegacy && 'ky']

buildDir

ビルドされた Nuxt ファイルが配置されるディレクトリを定義します。

多くのツールは .nuxt を隠しディレクトリと仮定します(. で始まるため)。それが問題である場合、このオプションを使用してそれを防ぐことができます。

  • : string
  • デフォルト: "/<rootDir>/.nuxt"

:

export default {
  buildDir: 'nuxt-build'
}

buildId

ビルドに一致するユニークな識別子。これはプロジェクトの現在の状態のハッシュを含むことがあります。

  • : string
  • デフォルト: "4a2e2d30-418f-41df-8e58-ed5df06de7fd"

builder

アプリケーションの Vue 部分をバンドルするために使用するビルダー。

  • : string
  • デフォルト: "@nuxt/vite-builder"

compatibilityDate

アプリケーションの互換性日付を指定します。

これは、Nitro、Nuxt Image、およびメジャーバージョンのバンプなしで動作が変更される可能性のある他のモジュールのプリセットの動作を制御するために使用されます。 将来的にはこの機能に関するツールを改善する予定です。

components

Nuxt コンポーネントの自動登録を設定します。

ここで設定されたディレクトリ内のコンポーネントは、ページ、レイアウト(および他のコンポーネント)全体で明示的にインポートすることなく使用できます。

  • : object
  • デフォルト
{
  "dirs": [
    {
      "path": "~/components/global",
      "global": true
    },
    "~/components"
  ]
}

参照: app/components/ ディレクトリドキュメント

css

グローバルに設定したい CSS ファイル/モジュール/ライブラリを定義できます(すべてのページに含まれます)。

Nuxt は拡張子によってファイルタイプを自動的に推測し、適切なプリプロセッサを使用します。必要に応じて、必要なローダーをインストールする必要があります。

  • : array

:

css: [
  // Node.js モジュールを直接ロード(ここでは Sass ファイル)
  'bulma',
  // プロジェクト内の CSS ファイル
  '~/assets/css/main.css',
  // プロジェクト内の SCSS ファイル
  '~/assets/css/main.scss'
]

debug

デバッグモードを有効にするには true に設定します。

現在のところ、サーバー上でフック名とタイミングを出力し、ブラウザではフック引数もログに記録します。 特定のデバッグオプションを有効にするためにオブジェクトを設定することもできます。

  • : boolean
  • デフォルト: false

dev

Nuxt が開発モードで実行されているかどうか。

通常、これを設定する必要はありません。

  • : boolean
  • デフォルト: false

devServer

cors

開発サーバーの CORS オプションを設定します

origin

  • : array
  • デフォルト
[
  {}
]

host

開発サーバーのリスニングホスト

https

HTTPS を有効にするかどうか。

  • : boolean
  • デフォルト: false

:

export default defineNuxtConfig({
  devServer: {
    https: {
      key: './server.key',
      cert: './server.crt'
    }
  }
})

loadingTemplate

ローディング画面を表示するテンプレート

  • : function

port

開発サーバーのリスニングポート

  • : number
  • デフォルト: 3000

url

リスニング開発サーバーの URL。

これは直接設定すべきではなく、常にモジュールおよび内部使用のために開発サーバーによって完全な URL によって上書きされます。

  • : string
  • デフォルト: "http://localhost:3000"

devServerHandlers

Nitro 開発専用サーバーハンドラー。

  • : array

参照: Nitro サーバールートドキュメント

devtools

開発用に Nuxt DevTools を有効にします。

devtools の破壊的変更は Nuxt のバージョンに反映されない可能性があります。

参照: Nuxt DevTools 詳細情報。

dir

Nuxt が使用するデフォルトのディレクトリ構造をカスタマイズします。

必要がない限り、デフォルトを使用することをお勧めします。

app

  • : string
  • デフォルト: "app"

assets

アセットディレクトリ(ビルド内で ~assets としてエイリアスされます)。

  • : string
  • デフォルト: "app/assets"

layouts

レイアウトディレクトリ。各ファイルは Nuxt レイアウトとして自動登録されます。

  • : string
  • デフォルト: "app/layouts"

middleware

ミドルウェアディレクトリ。各ファイルは Nuxt ミドルウェアとして自動登録されます。

  • : string
  • デフォルト: "app/middleware"

modules

モジュールディレクトリ。各ファイルは Nuxt モジュールとして自動登録されます。

  • : string
  • デフォルト: "modules"

pages

アプリケーションページルートを自動生成するために処理されるディレクトリ。

  • : string
  • デフォルト: "app/pages"

plugins

プラグインディレクトリ。各ファイルは Nuxt プラグインとして自動登録されます。

  • : string
  • デフォルト: "app/plugins"

public

静的ファイルを含むディレクトリ。Nuxt サーバーを介して直接アクセス可能で、アプリケーションが生成されるときに dist フォルダにコピーされます。

  • : string
  • デフォルト: "public"

shared

共有ディレクトリ。このディレクトリはアプリとサーバー間で共有されます。

  • : string
  • デフォルト: "shared"

esbuild

options

Nuxt 内で使用され、Vite や webpack などの他のビルダーに渡される共有 esbuild オプションを設定します。

jsxFactory

  • : string
  • デフォルト: "h"

jsxFragment

  • : string
  • デフォルト: "Fragment"

target

  • : string
  • デフォルト: "esnext"

tsconfigRaw

  • : object

experimental

alwaysRunFetchOnKeyChange

キーが変更されたときに useFetch を実行するかどうかを設定します。immediate: false に設定されていてまだトリガーされていない場合でも実行されます。

useFetchuseAsyncData は、immediate: true またはすでにトリガーされている場合、キーが変更されたときに常に実行されます。

  • : boolean
  • デフォルト: true

appManifest

クライアントサイドでルールを尊重するためにアプリマニフェストを使用します。

  • : boolean
  • デフォルト: true

asyncContext

ネストされたコンポーザブルにアクセス可能なネイティブ非同期コンテキストを有効にします

  • : boolean
  • デフォルト: false

参照: Nuxt PR #20918

asyncEntry

Vue バンドルの非同期エントリーポイントを生成するために true に設定します(モジュールフェデレーションサポート用)。

  • : boolean
  • デフォルト: false

browserDevtoolsTiming

Chromium ベースのブラウザのパフォーマンスパネルで Nuxt アプリケーションフックのタイミングを有効にします。

この機能は Nuxt フックのパフォーマンスマーカーを追加し、ブラウザのパフォーマンスタブで実行時間を追跡できるようにします。特にパフォーマンスの問題をデバッグするのに役立ちます。

  • : boolean
  • デフォルト: false

:

// nuxt.config.ts
export default defineNuxtConfig({
  experimental: {
    // ブラウザの devtools で Nuxt フックのパフォーマンスマーカーを有効にする
    browserDevtoolsTiming: true
  }
})

参照: PR #29922

参照: Chrome DevTools Performance API

buildCache

Nuxt/Nitro のビルドアーティファクトを構成とソースファイルのハッシュに基づいてキャッシュします。

これは、アプリの Vue/Nitro 部分の srcDir および serverDir 内のソースファイルに対してのみ機能します。

  • : boolean
  • デフォルト: false

checkOutdatedBuildInterval

新しいビルドをチェックする時間間隔(ミリ秒単位)を設定します。experimental.appManifestfalse の場合は無効になります。

無効にするには false に設定します。

  • : number
  • デフォルト: 3600000

clientFallback

SSR でエラーが発生した場合にクライアントでコンテンツをレンダリングするための実験的な <NuxtClientFallback> コンポーネントを有効にするかどうか。

  • : boolean
  • デフォルト: false

clientNodeCompat

unenv を使用してクライアントビルドで Node.js インポートを自動的にポリフィルします。

  • : boolean
  • デフォルト: false

参照: unenv

注意: ブラウザで Buffer などのグローバルを機能させるには、手動で注入する必要があります。

import { Buffer } from 'node:buffer'

globalThis.Buffer = globalThis.Buffer || Buffer

compileTemplate

Nuxt テンプレートをコンパイルするために lodash.template を使用するかどうか。

このフラグは v4 のリリースとともに削除され、Nuxt v3.12+ または ナイトリリースチャンネル での事前テストのためにのみ存在します。

  • : boolean
  • デフォルト: true

componentIslands

<NuxtIsland> および .island.vue ファイルを使用した実験的なコンポーネントアイランドサポート。

デフォルトでは 'auto' に設定されており、アプリにアイランド、サーバーコンポーネント、またはサーバーページがある場合にのみ有効になります。

  • : string
  • デフォルト: "auto"

configSchema

設定スキーマサポート

  • : boolean
  • デフォルト: true

参照: Nuxt Issue #15592

cookieStore

CookieStore サポートを有効にして、クッキーの更新をリッスンし(ブラウザがサポートしている場合)、useCookie の ref 値を更新します。

  • : boolean
  • デフォルト: true

参照: CookieStore

crossOriginPrefetch

Speculation Rules API を使用してクロスオリジンプリフェッチを有効にします。

  • : boolean
  • デフォルト: false

debugModuleMutation

モジュールコンテキストで nuxt.options への変更を記録し、Nuxt 初期化フェーズ中にモジュールによって行われた設定変更をデバッグします。

有効にすると、Nuxt はどのモジュールが設定オプションを変更したかを追跡し、予期しない設定変更を追跡しやすくします。

  • : boolean
  • デフォルト: false

:

// nuxt.config.ts
export default defineNuxtConfig({
  experimental: {
    // モジュールによる設定変更の追跡を有効にする
    debugModuleMutation: true
  }
})

参照: PR #30555

decorators

Nuxt および Nitro で実験的なデコレータの使用を有効にします。

  • : boolean
  • デフォルト: false

参照: https://github.com/tc39/proposal-decorators

defaults

コア Nuxt コンポーネントおよびコンポーザブルのデフォルトオプションを指定できます。

これらのオプションは将来的に app.config または app/ ディレクトリに移動される可能性があります。

componentName
  • : string
  • デフォルト: "NuxtLink"
prefetch
  • : boolean
  • デフォルト: true
prefetchOn
visibility
  • : boolean
  • デフォルト: true

useAsyncData

useAsyncData(およびそれに伴う useFetch)に適用されるオプション

deep
  • : boolean
  • デフォルト: true
errorValue
  • : string
  • デフォルト: "null"
value
  • : string
  • デフォルト: "null"

useFetch

emitRouteChunkError

vite/webpack チャンクの読み込みエラーが発生したときに app:chunkError フックを発行します。

デフォルトでは、Nuxt は新しいルートに移動する際にチャンクの読み込みが失敗したときに新しいルートのリロードも実行します(automatic)。 automatic-immediate に設定すると、チャンクの読み込みが失敗したときに現在のルートをすぐにリロードします(ナビゲーションを待たずに)。 自動処理を無効にするには、これを false に設定するか、手動でチャンクエラーを処理するには manual に設定します。

  • : string
  • デフォルト: "automatic"

参照: Nuxt PR #19038

enforceModuleCompatibility

Nuxt モジュールが互換性がない場合に Nuxt が停止するかどうか。

  • : boolean
  • デフォルト: false

externalVue

ビルド時に vue@vue/*vue-router を外部化します。

  • : boolean
  • デフォルト: true

参照: Nuxt Issue #13632

extraPageMetaExtractionKeys

scanPageMeta を使用する際にページメタデータから抽出する追加のキーを設定します。

これにより、モジュールがページメタデータから追加のメタデータにアクセスできるようになります。NuxtPage タイプにキーを追加することをお勧めします。

  • : array

granularCachedData

useAsyncData および useFetch の手動リフレッシュ時に getCachedData の結果を呼び出して使用するかどうか。

  • : boolean
  • デフォルト: false

headNext

新しい実験的な head 最適化を使用します:

  • head のタグをより効率的にレンダリングするために capo.js head プラグインを追加します。 - 初期ハイドレーションを削減するためにハッシュハイドレーションプラグインを使用します

  • : boolean

  • デフォルト: true

参照: Nuxt Discussion #22632

inlineRouteRules

~/pages ディレクトリ内で defineRouteRules を使用して routeRules を直接定義できるようにします。

ルールは(パスに基づいて)変換され、サーバーリクエストに適用されます。たとえば、~/pages/foo/bar.vue に定義されたルールは /foo/bar リクエストに適用されます。~/pages/foo/[id].vue にあるルールは /foo/** リクエストに適用されます。 カスタム path またはページの definePageMeta に設定された alias を使用している場合など、より詳細な制御が必要な場合は、nuxt.config 内で routeRules を直接設定する必要があります。

  • : boolean
  • デフォルト: false

lazyHydration

<Lazy> コンポーネントのハイドレーション戦略の自動設定を有効にします。

この機能は、可視性、アイドル時間、または他のトリガーに基づいて遅延コンポーネントをハイドレーションするタイミングを賢く判断し、コンポーネントが必要になるまでハイドレーションを遅延させることでパフォーマンスを向上させます。

  • : boolean
  • デフォルト: true

:

// nuxt.config.ts
export default defineNuxtConfig({
  experimental: {
    lazyHydration: true // Lazy コンポーネントのスマートハイドレーション戦略を有効にする
  }
})

// Vue コンポーネント内
<template>
  <Lazy>
    <ExpensiveComponent />
  </Lazy>
</template>

参照: PR #26468

localLayerAliases

レイヤー内の ~~~@@@ エイリアスをレイヤーソースおよびルートディレクトリに対して解決します。

  • : boolean
  • デフォルト: true

ナビゲーションの前に単一のアニメーションフレームを待機し、ブラウザがユーザーの操作を認識して再描画する機会を与えます。

プリレンダリングされたルートでナビゲーションする際の INP を削減できます。

  • : boolean
  • デフォルト: true

noVueServer

nitro 内で vue サーバーレンダラーエンドポイントを無効にします。

  • : boolean
  • デフォルト: false

normalizeComponentNames

自動生成された Vue コンポーネント名がコンポーネントを自動インポートするために使用する完全なコンポーネント名と一致することを保証します。

  • : boolean
  • デフォルト: false

parseErrorData

サーバーエラーページをレンダリングする際に error.data を解析するかどうか。

  • : boolean
  • デフォルト: false

payloadExtraction

このオプションが有効な場合(デフォルトで有効)、プリレンダリングされたページのペイロードが抽出されます。

  • : boolean
  • デフォルト: true

pendingWhenIdle

useAsyncDatauseFetch において、データのフェッチがまだ開始されていないときに pendingtrue にするかどうか。

  • : boolean
  • デフォルト: true

polyfillVueUseHead

古い @vueuse/head API に依存するモジュール、プラグイン、またはユーザーコードの互換性レイヤーを追加するかどうか。

クライアントサイドのバンドルを約0.5kb削減するために無効化されています。

  • : boolean
  • デフォルト: false

purgeCachedData

ルートナビゲーション時に Nuxt の静的および asyncData キャッシュをクリーンアップするかどうか。

Nuxt は useAsyncDatanuxtApp.static.data からキャッシュされたデータを自動的にパージします。これによりメモリリークを防ぎ、必要なときに新鮮なデータがロードされることを保証しますが、無効にすることも可能です。

  • : boolean
  • デフォルト: true

:

// nuxt.config.ts
export default defineNuxtConfig({
  experimental: {
    // 自動キャッシュクリーンアップを無効化(デフォルトは true)
    purgeCachedData: false
  }
})

参照: PR #31379

relativeWatchPaths

builder:watch フックで相対パスを提供するかどうか。

このフラグは v4 のリリースと共に削除され、Nuxt v3.12+ または ナイトリリースチャンネル での高度なテストのためにのみ存在します。

  • : boolean
  • デフォルト: true

renderJsonPayloads

複雑な型を復元するサポートを持つ JSON ペイロードをレンダリングします。

  • : boolean
  • デフォルト: true

resetAsyncDataToUndefined

clearclearNuxtData が非同期データをその デフォルト 値にリセットするか、null/undefined に更新するかどうか。

  • : boolean
  • デフォルト: true

respectNoSSRHeader

x-nuxt-no-ssr ヘッダーを設定することで Nuxt SSR レスポンスを無効にすることを許可します。

  • : boolean
  • デフォルト: false

restoreState

チャンクエラー後や手動で reloadNuxtApp() を呼び出した後にページをリロードする際に sessionStorage から Nuxt アプリの状態を復元するかどうか。

ハイドレーションエラーを避けるため、Vue アプリがマウントされた後にのみ適用されるため、初回ロード時にちらつきが発生する可能性があります。 これを有効にする前に慎重に検討してください。予期しない動作を引き起こす可能性があり、useState に明示的なキーを提供することを検討してください。自動生成されたキーはビルド間で一致しない可能性があります。

  • : boolean
  • デフォルト: false

scanPageMeta

ビルド時に definePageMeta で定義された一部のルートメタデータをモジュールに公開することを許可します(エイリアス、名前、パス、リダイレクト、プロップス、ミドルウェア)。

これは変数や条件付き代入ではなく、静的または文字列/配列でのみ機能します。

  • : boolean
  • デフォルト: true

参照: Nuxt Issues #24770

sharedPrerenderData

プリレンダリングされたページ間でペイロード データ を自動的に共有します。これは、useAsyncDatauseFetch を使用し、異なるページで同じデータをフェッチするサイトをプリレンダリングする際に、パフォーマンスの大幅な向上をもたらす可能性があります。

この機能を有効にする際には、データの一意のキーが常に同じデータに解決可能であることを確認することが特に重要です。例えば、特定のページに関連するデータをフェッチするために useAsyncData を使用している場合、そのデータに一意に一致するキーを提供する必要があります。(useFetch は自動的にこれを行います。)

  • : boolean
  • デフォルト: false

:

// 動的ページ(例: `[slug].vue`)では安全ではありません。ルートスラッグがフェッチされるデータに影響を与えるためです。
// しかし、Nuxt はそれをキーに反映できないため、知ることができません。
const route = useRoute()
const { data } = await useAsyncData(async () => {
  return await $fetch(`/api/my-page/${route.params.slug}`)
})
// 代わりに、フェッチされたデータを一意に識別するキーを使用する必要があります。
const { data } = await useAsyncData(route.params.slug, async () => {
  return await $fetch(`/api/my-page/${route.params.slug}`)
})

spaLoadingTemplateLocation

suspense:resolve まで spa-loading-template を表示し続けます。

  • : string
  • デフォルト: "within"

参照: Nuxt Issues #24770

templateImportResolution

テンプレートを追加したモジュールのパスから Nuxt テンプレートへのインポートを解決することを無効にします。

デフォルトでは、Nuxt はテンプレート内のインポートをそれらを追加したモジュールに相対的に解決しようとします。これを false に設定すると、この動作が無効になり、特定の環境で解決の競合が発生する場合に役立つかもしれません。

  • : boolean
  • デフォルト: true

:

// nuxt.config.ts
export default defineNuxtConfig({
  experimental: {
    // モジュールパスからのテンプレートインポート解決を無効化
    templateImportResolution: false
  }
})

参照: PR #31175

templateRouteInjection

デフォルトでは、自動インポートされた useRoute() コンポーザブルによって返されるルートオブジェクトは、<NuxtPage> 内の現在表示されているページと同期されます。これは vue-router のエクスポートされた useRoute や Vue テンプレートで利用可能なデフォルトの $route オブジェクトには当てはまりません。

このオプションを有効にすると、Nuxt の管理する useRoute()$route テンプレートオブジェクトを同期させるためのミックスインが注入されます。

  • : boolean
  • デフォルト: true

templateUtils

Nuxt テンプレートをコンパイルする際に、レガシーな templateUtils オブジェクト(serializeimportNameimportSources を含む)を提供するかどうか。

このフラグは v4 のリリースと共に削除され、Nuxt v3.12+ または ナイトリリースチャンネル での高度なテストのためにのみ存在します。

  • : boolean
  • デフォルト: true

treeshakeClientOnly

クライアント専用コンポーネントの内容をサーバーバンドルからツリーシェイクします。

  • : boolean
  • デフォルト: true

参照: Nuxt PR #5750

typedPages

unplugin-vue-router を使用した新しい実験的な型付きルーターを有効にします。

  • : boolean
  • デフォルト: false

viewTransition

クライアントサイドルーターとの View Transition API 統合を有効にします。

  • : boolean
  • デフォルト: false

参照: View Transitions API

watcher

Nuxt のウォッチングサービスとして使用される代替ウォッチャーを設定します。

ソースディレクトリがルートディレクトリと同じ場合、Nuxt は 'chokidar-granular' を使用します。これにより、ウォッチングから除外されているトップレベルディレクトリ(node_modules.git など)が無視されます。 代わりに parcel を設定して @parcel/watcher を使用することができ、大規模なプロジェクトや Windows プラットフォームでのパフォーマンスを向上させることができます。 また、chokidar を設定してソースディレクトリ内のすべてのファイルをウォッチすることもできます。

  • : string
  • デフォルト: "chokidar"

参照: chokidar

参照: @parcel/watcher

writeEarlyHints

ノードサーバーを使用する際に早期ヒントを書き込みます。

  • : boolean
  • デフォルト: false

注意: 現在のバージョンでは nginx は 103 Early hints をサポートしていません。

extends

複数のローカルまたはリモートソースからプロジェクトを拡張します。

値は、ソースディレクトリまたは現在の設定に対する設定パスを指す文字列または文字列の配列である必要があります。 github:gh:gitlab:、または bitbucket: を使用できます。

参照: c12 の設定レイヤー拡張に関するドキュメント

参照: giget のドキュメント

extensions

Nuxt リゾルバーによって解決されるべき拡張子。

  • : array
  • デフォルト
[
  ".js",
  ".jsx",
  ".mjs",
  ".ts",
  ".tsx",
  ".vue"
]

features

Nuxt のいくつかの機能はオプトインベースで利用可能であり、ニーズに応じて無効にすることができます。

devLogs

開発中にサーバーログをクライアントにストリームします。これらのログは dev:ssr-logs フックで処理できます。

silent に設定すると、ログはブラウザコンソールに表示されません。

  • : boolean
  • デフォルト: false

inlineStyles

HTML をレンダリングする際にスタイルをインライン化します(現在は vite のみ)。

Vue コンポーネントのパスを受け取り、そのコンポーネントのスタイルをインライン化するかどうかを示すブール値を返す関数を渡すこともできます。

  • : boolean
  • デフォルト: (id) => id.includes('.vue')

noScripts

Nuxt スクリプトと JS リソースヒントのレンダリングをオフにします。routeRules 内でより細かくスクリプトを無効にすることもできます。

production または true に設定すると、JS はプロダクションモードでのみ無効になります。

  • : boolean
  • デフォルト: false

future

future は、将来(おそらくメジャー)バージョンでデフォルトになる新機能を早期にオプトインするためのものです。

compatibilityVersion

これは、Nuxt の機能やフラグへの早期アクセスを有効にするために使用されます。

Nuxt 4 ではまだ設定可能ではありませんが、v5 のための破壊的変更をマージし始めると、これを有効にすることが可能になります。

multiApp

実験的なマルチアプリサポートへの早期アクセスを有効にします。

  • : boolean
  • デフォルト: false

参照: Nuxt Issue #21635

typescriptBundlerResolution

TypeScript の 'Bundler' モジュール解決モードを有効にします。これは Nuxt や Vite のようなフレームワークに推奨される設定です。

exports を使用するモダンライブラリを使用する際の型サポートを向上させます。 レガシーな 'Node' モードを使用するには false に設定できます。これは TypeScript のデフォルトです。

  • : boolean
  • デフォルト: true

参照: TypeScript PR implementing bundler module resolution

hooks

フックは通常モジュールで使用される Nuxt イベントのリスナーですが、nuxt.config でも利用可能です。

内部的には、フックはコロンを使用した命名パターンに従います(例: build:done)。 設定を簡単にするために、nuxt.config 内で階層オブジェクトとして構造化することもできます(以下のように)。

:

import fs from 'node:fs'
import path from 'node:path'
export default {
  hooks: {
    build: {
      done(builder) {
        const extraFilePath = path.join(
          builder.nuxt.options.buildDir,
          'extra-file'
        )
        fs.writeFileSync(extraFilePath, 'Something extra')
      }
    }
  }
}

ignore

ignorePrefix よりもカスタマイズ可能です。ignore 配列内で指定されたグロブパターンに一致するすべてのファイルはビルド時に無視されます。

  • : array
  • デフォルト
[
  "**/*.stories.{js,cts,mts,ts,jsx,tsx}",
  "**/*.{spec,test}.{js,cts,mts,ts,jsx,tsx}",
  "**/*.d.{cts,mts,ts}",
  "**/.{pnpm-store,vercel,netlify,output,git,cache,data}",
  "**/*.sock",
  ".nuxt/analyze",
  ".nuxt",
  "**/-*.*"
]

ignoreOptions

node-ignore に直接オプションを渡します(Nuxt はファイルを無視するために使用します)。

参照: node-ignore

:

ignoreOptions: {
  ignorecase: false
}

ignorePrefix

app/pages/app/layouts/app/middleware/、および public/ ディレクトリ内のファイルは、ファイル名が ignorePrefix で指定されたプレフィックスで始まる場合、ビルドプロセス中に無視されます。これは、特定のファイルがビルドされたアプリケーションで処理または提供されるのを防ぐことを目的としています。デフォルトでは、ignorePrefix は '-' に設定されており、'-' で始まるファイルは無視されます。

  • : string
  • デフォルト: "-"

imports

Nuxt がアプリケーションにコンポーザブルを自動インポートする方法を設定します。

参照: Nuxt ドキュメント

dirs

自動インポートされるカスタムディレクトリの配列。このオプションはデフォルトのディレクトリ(~/composables, ~/utils)を上書きしません。

  • : array

:

imports: {
  // `~/stores` に定義された pinia ストアを自動インポート
  dirs: ['stores']
}

global

  • : boolean
  • デフォルト: false

scan

app/composables/ および app/utils/ ディレクトリをスキャンして自動インポートするコンポーザブルを探すかどうか。Nuxt または他のモジュールによって登録された自動インポート、例えば vuenuxt からのインポートは引き続き有効です。

  • : boolean
  • デフォルト: true

logLevel

ビルドログのログレベル。

CI で実行されている場合や TTY が利用できない場合はデフォルトで 'silent' になります。このオプションは Vite では 'silent'、webpack では 'none' として使用されます。

  • : string
  • デフォルト: "info"

modules

モジュールは Nuxt の拡張機能であり、そのコア機能を拡張し、無限の統合を追加できます。

各モジュールは文字列(パッケージを参照するか、ファイルへのパスである可能性があります)、モジュールを最初の文字列、オプションを2番目のオブジェクトとするタプル、またはインラインモジュール関数のいずれかです。 Nuxt はモジュール配列内の各アイテムを node require パス(node_modules 内)を使用して解決しようとし、~ エイリアスが使用されている場合はプロジェクト srcDir から解決されます。

  • : array

注意: モジュールは順番に実行されるため、順序が重要です。最初に nuxt.config.ts で定義されたモジュールがロードされます。次に、modules/ ディレクトリで見つかったモジュールが実行され、アルファベット順にロードされます。

:

modules: [
  // パッケージ名を使用
  '@nuxtjs/axios',
  // プロジェクト srcDir に対する相対パス
  '~/modules/awesome.js',
  // オプションを提供
  ['@nuxtjs/google-analytics', { ua: 'X1234567' }],
  // インライン定義
  function () {}
]

modulesDir

パス解決のためのモジュールディレクトリを設定するために使用されます(例: webpack の resolveLoadingnodeExternalspostcss)。

設定パスは options.rootDir に対して相対的です(デフォルトは現在の作業ディレクトリ)。 このフィールドを設定することは、プロジェクトが yarn ワークスペーススタイルのモノリポジトリとして組織されている場合に必要になるかもしれません。

  • : array
  • デフォルト
[
  "/<rootDir>/node_modules"
]

:

export default {
  modulesDir: ['../../node_modules']
}

nitro

Nitro の設定。

参照: Nitro 設定ドキュメント

routeRules

  • : object

runtimeConfig

  • : object
  • デフォルト
{
  "public": {},
  "app": {
    "buildId": "4a2e2d30-418f-41df-8e58-ed5df06de7fd",
    "baseURL": "/",
    "buildAssetsDir": "/_nuxt/",
    "cdnURL": ""
  },
  "nitro": {
    "envPrefix": "NUXT_"
  }
}

optimization

ビルド時の最適化設定。

asyncTransforms

await 後に非同期コンテキストを保持する unctx からのトランスフォーマーに直接渡されるオプション。

asyncFunctions

  • : array
  • デフォルト
[
  "defineNuxtPlugin",
  "defineNuxtRouteMiddleware"
]

objectDefinitions

defineNuxtComponent
  • : array
  • デフォルト
[
  "asyncData",
  "setup"
]
defineNuxtPlugin
  • : array
  • デフォルト
[
  "setup"
]
definePageMeta
  • : array
  • デフォルト
[
  "middleware",
  "validate"
]

keyedComposables

キーを注入するための関数。

関数に渡される引数の数が argumentLength より少ない限り、サーバーとクライアント間でリクエストを重複排除するために使用できる追加のマジックストリングが注入されます。この追加のキーを処理するための手順を講じる必要があります。 キーは、ファイル内で関数が呼び出される場所に基づいて一意になります。

  • : array
  • デフォルト
[
  {
    "name": "callOnce",
    "argumentLength": 3
  },
  {
    "name": "defineNuxtComponent",
    "argumentLength": 2
  },
  {
    "name": "useState",
    "argumentLength": 2
  },
  {
    "name": "useFetch",
    "argumentLength": 3
  },
  {
    "name": "useAsyncData",
    "argumentLength": 3
  },
  {
    "name": "useLazyAsyncData",
    "argumentLength": 3
  },
  {
    "name": "useLazyFetch",
    "argumentLength": 3
  }
]

treeShake

特定のビルドからコードをツリーシェイクします。

composables

サーバーまたはクライアントビルドからコンポーザブルをツリーシェイクします。

:

treeShake: { client: { myPackage: ['useServerOnlyComposable'] } }
client
  • : object
  • デフォルト
{
  "vue": [
    "onRenderTracked",
    "onRenderTriggered",
    "onServerPrefetch"
  ],
  "#app": [
    "definePayloadReducer",
    "definePageMeta",
    "onPrehydrate"
  ]
}
server
  • : object
  • デフォルト
{
  "vue": [
    "onMounted",
    "onUpdated",
    "onUnmounted",
    "onBeforeMount",
    "onBeforeUpdate",
    "onBeforeUnmount",
    "onRenderTracked",
    "onRenderTriggered",
    "onActivated",
    "onDeactivated"
  ],
  "#app": [
    "definePayloadReviver",
    "definePageMeta"
  ]
}

pages

Nuxt 3 で vue-router 統合を使用するかどうか。値を提供しない場合、ソースフォルダに app/pages/ ディレクトリがある場合に有効になります。

さらに、ページ用に特定のファイルのみをスキャンするためのグロブパターンまたはパターンの配列を提供することができます。

:

pages: {
  pattern: ['**\/*\/*.vue', '!**\/*.spec.*'],
}

plugins

Nuxt アプリのプラグインの配列。

各プラグインは文字列(ファイルへの絶対または相対パスである可能性があります)であることができます。.client または .server で終わる場合、それは自動的に適切なコンテキストでのみロードされます。 また、srcmode キーを持つオブジェクトであることもできます。

  • : array

注意: プラグインは ~/plugins ディレクトリからも自動登録され、これらのプラグインは nuxt.config にリストする必要はありません。ただし、順序をカスタマイズする必要がある場合を除きます。すべてのプラグインはその src パスによって重複排除されます。

参照: app/plugins/ ディレクトリのドキュメント

:

plugins: [
  '~/plugins/foo.client.js', // クライアントサイドのみ
  '~/plugins/bar.server.js', // サーバーサイドのみ
  '~/plugins/baz.js', // クライアント & サーバー両方
  { src: '~/plugins/both-sides.js' },
  { src: '~/plugins/client-only.js', mode: 'client' }, // クライアントサイドのみ
  { src: '~/plugins/server-only.js', mode: 'server' } // サーバーサイドのみ
]

postcss

order

PostCSS プラグインの順序付け戦略。

  • : function

plugins

PostCSS プラグインを設定するためのオプション。

参照: PostCSS ドキュメント

autoprefixer

CSS を解析し、CSS ルールにベンダープレフィックスを追加するプラグイン。

参照: autoprefixer

cssnano

  • : object

参照: cssnano 設定オプション

rootDir

アプリケーションのルートディレクトリを定義します。

このプロパティは上書き可能です(例えば、nuxt ./my-app/ を実行すると、rootDir は現在の作業ディレクトリからの ./my-app/ の絶対パスに設定されます)。 通常、このオプションを設定する必要はありません。

  • : string
  • デフォルト: "/<rootDir>"

routeRules

サーバールートに適用されるグローバルルートオプション。

実験的: これは実験的な機能であり、API は将来変更される可能性があります。

参照: Nitro ルートルールドキュメント

router

options

vue-router に渡される追加のルーターオプション。vue-router のオプションに加えて、Nuxt はルーターをカスタマイズするための追加オプションを提供します(以下を参照)。

注意: Nuxt 設定によって渡されるオプションは JSON シリアライズ可能なものである必要があります。 より詳細な制御が必要な場合は、router.options.ts ファイルを使用できます。

参照: Vue Router ドキュメント.

hashMode

SPA モードでハッシュ履歴を有効にできます。このモードでは、ルーターは内部的に渡される実際の URL の前にハッシュ文字(#)を使用します。有効にすると、URL はサーバーに送信されずSSR はサポートされません

  • : boolean
  • デフォルト: false

デフォルト: false

scrollBehaviorType

ハッシュリンクのスクロール動作をカスタマイズします。

  • : string
  • デフォルト: "auto"

デフォルト: 'auto'

runtimeConfig

ランタイム設定は、動的設定と環境変数を Nuxt アプリコンテキストに渡すことを可能にします。

このオブジェクトの値は、useRuntimeConfig を使用してサーバーからのみアクセス可能です。 主にフロントエンドに公開されない プライベート 設定を保持する必要があります。これには、API シークレットトークンへの参照が含まれる可能性があります。 public および app の下にあるものはフロントエンドにも公開されます。 値は、実行時に一致する環境変数によって自動的に置き換えられます。例えば、環境変数 NUXT_API_KEY=my-api-key NUXT_PUBLIC_BASE_URL=/foo/ を設定すると、以下の例の2つの値が上書きされます。

  • : object
  • デフォルト
{
  "public": {},
  "app": {
    "buildId": "4a2e2d30-418f-41df-8e58-ed5df06de7fd",
    "baseURL": "/",
    "buildAssetsDir": "/_nuxt/",
    "cdnURL": ""
  }
}

:

export default {
 runtimeConfig: {
    apiKey: '', // デフォルトは空文字列、実行時に process.env.NUXT_API_KEY を使用して自動的に設定
    public: {
       baseURL: '' // フロントエンドにも公開されます。
    }
  }
}

serverDir

Nuxt アプリケーションのサーバーディレクトリを定義します。ここには Nitro ルート、ミドルウェア、プラグインが保持されます。

相対パスが指定された場合、それは rootDir に対して相対的になります。

  • : string
  • デフォルト: "/<srcDir>/server"

serverHandlers

Nitro サーバーハンドラー。

各ハンドラーは以下のオプションを受け入れます:

  • handler: ハンドラーを定義するファイルへのパス。 - route: ハンドラーが利用可能なルート。これは rou3 の規約に従います。 - method: 処理されるべきリクエストの HTTP メソッド。 - middleware: ミドルウェアハンドラーであるかどうかを指定します。 - lazy: ハンドラーをインポートするためにレイジーローディングを使用するかどうかを指定します。

  • : array

参照: server/ ディレクトリのドキュメント

注意: server/apiserver/middleware、および server/routes からのファイルは Nuxt によって自動的に登録されます。

:

serverHandlers: [
  { route: '/path/foo/**:name', handler: '~/server/foohandler.ts' }
]

sourcemap

サーバーおよび/またはクライアントバンドルのソースマップが生成されるかどうか、およびその方法を設定します。

単一のブール値を設定すると、その値がサーバーとクライアントの両方に適用されます。さらに、'hidden' オプションもサーバーとクライアントの両方で利用可能です。 クライアントとサーバーの両方に利用可能なオプション: - true: ソースマップを生成し、最終バンドルにソース参照を含めます。 - false: ソースマップを生成しません。 - 'hidden': ソースマップを生成しますが、最終バンドルに参照を含めません。

  • : object
  • デフォルト
{
  "server": true,
  "client": false
}

spaLoadingTemplate

ブール値または HTML ファイルへのパスで、ssr: false でレンダリングされた任意の HTML ページに挿入される内容を指定します。

  • 設定されていない場合、存在する場合はレイヤーのいずれかにある ~/spa-loading-template.html ファイルを使用します。 - false の場合、SPA ローディングインジケーターはロードされません。 - true の場合、Nuxt はレイヤーのいずれかにある ~/spa-loading-template.html ファイルを探します。存在しない場合はデフォルトの Nuxt 画像が使用されます。 スピナーの良いソースは SpinKitSVG Spinners です。

  • デフォルト: null

: ~/spa-loading-template.html

<!-- https://github.com/barelyhuman/snips/blob/dev/pages/css-loader.md -->
<div class="loader"></div>
<style>
.loader {
  display: block;
  position: fixed;
  z-index: 1031;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border: solid 2px transparent;
  border-top-color: #000;
  border-left-color: #000;
  border-bottom-color: #efefef;
  border-right-color: #efefef;
  border-radius: 50%;
  -webkit-animation: loader 400ms linear infinite;
  animation: loader 400ms linear infinite;
}

@-webkit-keyframes loader {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes loader {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
</style>

srcDir

Nuxt アプリケーションのソースディレクトリを定義します。

相対パスが指定された場合、それは rootDir に対して相対的になります。

  • : string
  • デフォルト: "app" (Nuxt 4), "." (Nuxt 3 with compatibilityMode: 3)

:

export default {
  srcDir: 'app/'
}

このフォルダ構造を期待します:

-| app/
---| assets/
---| components/
---| layouts/
---| middleware/
---| pages/
---| plugins/
---| app.config.ts
---| app.vue
---| error.vue
-| server/
-| public/
-| modules/
-| nuxt.config.js
-| package.json

ssr

HTML のレンダリングを有効にするかどうか - サーバーモードで動的に、または生成時に。false に設定すると、生成されたページにはコンテンツがありません。

  • : boolean
  • デフォルト: true

telemetry

Nuxt テレメトリを手動で無効にします。

参照: Nuxt Telemetry の詳細情報。

test

アプリがユニットテストされているかどうか。

  • : boolean
  • デフォルト: false

theme

ローカルまたはリモートソースからプロジェクトを拡張します。

値は、現在の設定に対するソースディレクトリまたは設定パスを指す文字列である必要があります。 github:gitlab:bitbucket:、または https:// を使用してリモート git リポジトリから拡張できます。

  • : string

typescript

Nuxt の TypeScript 統合の設定。

builder

プロジェクトに含めるビルダータイプ。

デフォルトでは、Nuxt は builder オプション(デフォルトは 'vite')に基づいてこれを推測しますが、ビルダー環境タイプを完全に自分で処理するために(false で)オフにするか、'shared' オプションを選択できます。 'shared' オプションは、複数のビルダーをサポートしたいモジュール作成者に推奨されます。

  • デフォルト: null

hoist

compilerOptions.paths 内で深いエイリアスを生成するためのモジュール。これはまだサブパスをサポートしていません。shamefully-hoist=false を使用して pnpm モノレポ内で Nuxt を使用する場合に必要になるかもしれません。

  • : array
  • デフォルト
[
  "nitropack/types",
  "nitropack/runtime",
  "nitropack",
  "defu",
  "h3",
  "consola",
  "ofetch",
  "@unhead/vue",
  "@nuxt/devtools",
  "vue",
  "@vue/runtime-core",
  "@vue/compiler-sfc",
  "vue-router",
  "vue-router/auto-routes",
  "unplugin-vue-router/client",
  "@nuxt/schema",
  "nuxt"
]

includeWorkspace

Nuxt プロジェクトに親ワークスペースを含めます。主にテーマやモジュールの作成者に役立ちます。

  • : boolean
  • デフォルト: false

shim

*.vue シムを生成します。

代わりに 公式の Vue 拡張機能 にコンポーネントの正確な型を生成させることをお勧めします。ESLint などの .vue ファイルの型を理解できない他のライブラリを使用している場合は、これを true に設定することを検討してください。

  • : boolean
  • デフォルト: false

strict

TypeScript には、プログラムの安全性と分析を向上させるための特定のチェックがあります。コードベースを TypeScript に変換したら、これらのチェックを有効にして安全性を高めることができます。詳細はこちら

  • : boolean
  • デフォルト: true

tsConfig

このオプションを使用して、生成された TypeScript 設定 (.nuxt/tsconfig.app.json, .nuxt/tsconfig.server.json など) を拡張できます。

typeCheck

ビルド時の型チェックを有効にします。

true に設定すると、開発中に型チェックが行われます。これをビルド時の型チェックに限定するには、build に設定します。typescriptvue-tsc を開発依存関係としてインストールする必要があります。

  • : boolean
  • デフォルト: false

参照: Nuxt TypeScript ドキュメント

unhead

unhead nuxt モジュールを設定するためのオブジェクト。

legacy

unhead モジュールのレガシー互換モードを有効にします。これにより、以下の変更が適用されます: - Capo.js のソートを無効化 - DeprecationsPlugin を追加: hid, vmid, children, body をサポート - PromisesPlugin を追加: 入力としてのプロミスをサポート

  • : boolean
  • デフォルト: false

参照: unhead 移行ドキュメント

:

export default defineNuxtConfig({
 unhead: {
  legacy: true
})

renderSSRHeadOptions

出力をカスタマイズするために renderSSRHead に渡されるオブジェクト。

  • : object
  • デフォルト
{
  "omitLineBreaks": false
}

:

export default defineNuxtConfig({
 unhead: {
  renderSSRHeadOptions: {
   omitLineBreaks: true
  }
})

vite

Vite に直接渡される設定。

参照: Vite 設定ドキュメント で詳細を確認してください。Nuxt ではすべての vite オプションがサポートされているわけではありません。

build

assetsDir

  • : string
  • デフォルト: "_nuxt/"

emptyOutDir

  • : boolean
  • デフォルト: false

cacheDir

  • : string
  • デフォルト: "/<rootDir>/node_modules/.cache/vite"

clearScreen

  • : boolean
  • デフォルト: true

define

  • : object
  • デフォルト
{
  "__VUE_PROD_HYDRATION_MISMATCH_DETAILS__": false,
  "process.dev": false,
  "import.meta.dev": false,
  "process.test": false,
  "import.meta.test": false
}

esbuild

  • : object
  • デフォルト
{
  "target": "esnext",
  "jsxFactory": "h",
  "jsxFragment": "Fragment",
  "tsconfigRaw": {}
}

mode

  • : string
  • デフォルト: "production"

optimizeDeps

esbuildOptions

  • : object
  • デフォルト
{
  "target": "esnext",
  "jsxFactory": "h",
  "jsxFragment": "Fragment",
  "tsconfigRaw": {}
}

exclude

  • : array
  • デフォルト
[
  "vue-demi"
]

publicDir

resolve

extensions

  • : array
  • デフォルト
[
  ".mjs",
  ".js",
  ".ts",
  ".jsx",
  ".tsx",
  ".json",
  ".vue"
]

root

  • : string
  • デフォルト: "/<srcDir>"

server

fs

allow
  • : array
  • デフォルト
[
  "/<rootDir>/.nuxt",
  "/<srcDir>",
  "/<rootDir>",
  "/<workspaceDir>"
]

vue

features

propsDestructure
  • : boolean
  • デフォルト: true

isProduction

  • : boolean
  • デフォルト: true

script

hoistStatic

template

compilerOptions
  • : object
transformAssetUrls
  • : object
  • デフォルト
{
  "video": [
    "src",
    "poster"
  ],
  "source": [
    "src"
  ],
  "img": [
    "src"
  ],
  "image": [
    "xlink:href",
    "href"
  ],
  "use": [
    "xlink:href",
    "href"
  ]
}

vueJsx

  • : object
  • デフォルト
{
  "isCustomElement": {
    "$schema": {
      "title": "",
      "description": "",
      "tags": []
    }
  }
}

vue

Vue.js 設定

compilerOptions

ビルド時に渡される Vue コンパイラのオプション。

参照: Vue ドキュメント

config

Vue アプリをグローバルに設定することが可能です。シリアライズ可能なオプションのみを nuxt.config に設定できます。他のオプションは Nuxt プラグインで実行時に設定する必要があります。

参照: Vue アプリ設定ドキュメント

propsDestructure

defineProps のリアクティブなデストラクチャリングを有効にします。

  • : boolean
  • デフォルト: true

runtimeCompiler

ランタイムバンドルに Vue コンパイラを含めます。

  • : boolean
  • デフォルト: false

transformAssetUrls

image

  • : array
  • デフォルト
[
  "xlink:href",
  "href"
]

img

  • : array
  • デフォルト
[
  "src"
]

source

  • : array
  • デフォルト
[
  "src"
]

use

  • : array
  • デフォルト
[
  "xlink:href",
  "href"
]

video

  • : array
  • デフォルト
[
  "src",
  "poster"
]

watch

watch プロパティを使用すると、変更されたときに Nuxt 開発サーバーを再起動するパターンを定義できます。

これは文字列または正規表現の配列です。文字列は絶対パスまたは srcDir(および任意のレイヤーの srcDir)に対する相対パスである必要があります。正規表現はプロジェクトの srcDir(および任意のレイヤーの srcDir)に対するパスに対して一致します。

  • : array

watchers

watchers プロパティを使用すると、nuxt.config 内のウォッチャー設定を上書きできます。

chokidar

chokidar に直接渡すオプション。

参照: chokidar

ignoreInitial

  • : boolean
  • デフォルト: true

ignorePermissionErrors

  • : boolean
  • デフォルト: true

rewatchOnRawEvents

受信時にウォッチャーを再起動させるイベントタイプの配列。

webpack

webpack に直接渡す watchOptions

参照: webpack@4 watch options.

aggregateTimeout

  • : number
  • デフォルト: 1000

webpack

aggressiveCodeRemoval

typeof processtypeof windowtypeof document をハードリプレースしてバンドルをツリーシェイクします。

  • : boolean
  • デフォルト: false

analyze

Nuxt は webpack-bundle-analyzer を使用してバンドルを視覚化し、最適化方法を提供します。

バンドル分析を有効にするには true に設定するか、オプションを含むオブジェクトを渡します: webpack 用 または vite 用.

  • : object
  • デフォルト
{
  "template": "treemap",
  "projectRoot": "/<rootDir>",
  "filename": "/<rootDir>/.nuxt/analyze/{name}.html"
}

:

analyze: {
  analyzerMode: 'static'
}

cssSourceMap

CSS ソースマップサポートを有効にします(デフォルトでは開発中に true です)。

  • : boolean
  • デフォルト: false

devMiddleware

利用可能なオプションについては webpack-dev-middleware を参照してください。

stats

  • : string
  • デフォルト: "none"

experiments

webpack experiments を設定します。

extractCSS

共通 CSS 抽出を有効にします。

内部的に mini-css-extract-plugin を使用して、CSS は通常コンポーネントごとに別々のファイルに抽出されます。これにより、CSS と JavaScript を別々にキャッシュできます。

  • : boolean
  • デフォルト: true

:

export default {
  webpack: {
    extractCSS: true,
    // または
    extractCSS: {
      ignoreOrder: true
    }
  }
}

すべての CSS を単一ファイルに抽出したい場合、これには回避策があります。 ただし、すべてを単一ファイルに抽出することは推奨されません。 複数の CSS ファイルに抽出する方がキャッシュとプリロードの分離に優れています。 必要なリソースのみをダウンロードして解決することで、ページのパフォーマンスを向上させることもできます。

:

export default {
  webpack: {
    extractCSS: true,
    optimization: {
      splitChunks: {
        cacheGroups: {
          styles: {
            name: 'styles',
            test: /\.(css|vue)$/,
            chunks: 'all',
            enforce: true
          }
        }
      }
    }
  }
}

filenames

バンドルファイル名をカスタマイズします。

マニフェストの使用についてもう少し理解するには、webpack ドキュメント を参照してください。

注意: 本番環境でハッシュベースでないファイル名を使用する際は注意してください。 ほとんどのブラウザはアセットをキャッシュし、最初のロード時に変更を検出しません。

この例では、ファンシーなチャンク名を数値 ID に変更します:

:

filenames: {
  chunk: ({ isDev }) => (isDev ? '[name].js' : '[id].[contenthash].js')
}

app

  • : function

chunk

  • : function

css

  • : function

font

  • : function

img

  • : function

video

  • : function

friendlyErrors

FriendlyErrorsWebpackPlugin によって提供されるオーバーレイを無効にするには false に設定します。

  • : boolean
  • デフォルト: true

hotMiddleware

利用可能なオプションについては webpack-hot-middleware を参照してください。

loaders

Nuxt の統合された webpack ローダーのオプションをカスタマイズします。

css

利用可能なオプションについては css-loader を参照してください。

esModule
  • : boolean
  • デフォルト: false
importLoaders
  • : number
  • デフォルト: 0
url
filter
  • : function

cssModules

利用可能なオプションについては css-loader を参照してください。

esModule
  • : boolean
  • デフォルト: false
importLoaders
  • : number
  • デフォルト: 0
modules
localIdentName
  • : string
  • デフォルト: "[local]_[hash:base64:5]"
url
filter
  • : function

esbuild

  • : object
  • デフォルト
{
  "target": "esnext",
  "jsxFactory": "h",
  "jsxFragment": "Fragment",
  "tsconfigRaw": {}
}

参照: esbuild loader

file

参照: file-loader オプション

デフォルト:

{ esModule: false }
esModule
  • : boolean
  • デフォルト: false
limit
  • : number
  • デフォルト: 1000

fontUrl

参照: file-loader オプション

デフォルト:

{ esModule: false }
esModule
  • : boolean
  • デフォルト: false
limit
  • : number
  • デフォルト: 1000

imgUrl

参照: file-loader オプション

デフォルト:

{ esModule: false }
esModule
  • : boolean
  • デフォルト: false
limit
  • : number
  • デフォルト: 1000

less

  • デフォルト
{
  "sourceMap": false
}

参照: less-loader オプション

pugPlain

参照: pug オプション

sass

参照: sass-loader オプション

デフォルト:

{
  sassOptions: {
    indentedSyntax: true
  }
}
sassOptions
indentedSyntax
  • : boolean
  • デフォルト: true

scss

  • デフォルト
{
  "sourceMap": false
}

参照: sass-loader オプション

stylus

  • デフォルト
{
  "sourceMap": false
}

参照: stylus-loader オプション

vue

利用可能なオプションについては vue-loader を参照してください。

compilerOptions
  • : object
propsDestructure
  • : boolean
  • デフォルト: true
transformAssetUrls
  • : object
  • デフォルト
{
  "video": [
    "src",
    "poster"
  ],
  "source": [
    "src"
  ],
  "img": [
    "src"
  ],
  "image": [
    "xlink:href",
    "href"
  ],
  "use": [
    "xlink:href",
    "href"
  ]
}

vueStyle

  • デフォルト
{
  "sourceMap": false
}

optimization

webpack optimization を設定します。

minimize

すべての最小化を無効にするには、false に設定します。(デフォルトでは開発中に無効です)。

  • : boolean
  • デフォルト: true

minimizer

プラグインのカスタマイズされた配列に最小化を設定できます。

runtimeChunk

  • : string
  • デフォルト: "single"

splitChunks

automaticNameDelimiter
  • : string
  • デフォルト: "/"
cacheGroups
chunks
  • : string
  • デフォルト: "all"

optimizeCSS

OptimizeCSSAssets プラグインオプション。

extractCSS が有効な場合、デフォルトで true になります。

  • : boolean
  • デフォルト: false

参照: css-minimizer-webpack-plugin ドキュメント.

plugins

webpack プラグインを追加します。

  • : array

:

import webpack from 'webpack'
import { version } from './package.json'
// ...
plugins: [
  new webpack.DefinePlugin({
    'process.VERSION': version
  })
]

postcss

PostCSS Loader をカスタマイズします。 postcss-loader オプション と同じオプションです。

postcssOptions

plugins
  • : object
  • デフォルト
{
  "autoprefixer": {},
  "cssnano": {}
}

profile

webpackbar でプロファイラを有効にします。

通常は CLI 引数 --profile によって有効になります。

  • : boolean
  • デフォルト: false

参照: webpackbar.

serverURLPolyfill

URL と URLSearchParams を提供するためにロードするポリフィルライブラリ。

デフォルトは 'url' です(パッケージを参照)。

  • : string
  • デフォルト: "url"

warningIgnoreFilters

ビルド警告を非表示にするフィルター。

  • : array

workspaceDir

アプリケーションのワークスペースディレクトリを定義します。

通常、これはモノレポセットアップで使用されます。Nuxt はワークスペースディレクトリを自動的に検出しようとしますが、ここで上書きすることができます。 通常、このオプションを設定する必要はありません。

  • : string
  • デフォルト: "/<workspaceDir>"