Nuxt Configuration

Nuxt Configuration

Discover all the options you can use in your nuxt.config.ts file.

This file is auto-generated from Nuxt source code.
_build
Type: boolean
Default: false
_cli
Type: boolean
Default: false
_generate
Type: boolean
Default: false
_installedModules
Type: array
_legacyGenerate
Type: boolean
Default: false
_majorVersion
Type: number
Default: 3
_modules
Type: array
_nuxtConfigFile
_nuxtConfigFiles
Type: array
_prepare
Type: boolean
Default: false
_requiredModules
_start
Type: boolean
Default: false
alias
Type: object
Default
{

  "~": "/<rootDir>",

  "@": "/<rootDir>",

  "~~": "/<rootDir>",

  "@@": "/<rootDir>",

  "assets": "/<rootDir>/assets",

  "public": "/<rootDir>/public"

}

analyzeDir
Type: string
Default: "/<rootDir>/.nuxt/analyze"
app
baseURL
Type: string
Default: "/"
buildAssetsDir
Type: string
Default: "/_nuxt/"
cdnURL
Type: string
Default: ""
head
Type: object
Default
{

  "meta": [

    {

      "name": "viewport",

      "content": "width=device-width, initial-scale=1"

    },

    {

      "charset": "utf-8"

    }

  ],

  "link": [],

  "style": [],

  "script": [],

  "noscript": []

}

keepalive
Type: boolean
Default: false
layoutTransition
Type: boolean
Default: false
pageTransition
Type: boolean
Default: false
rootId
Type: string
Default: "__nuxt"
rootTag
Type: string
Default: "div"
appConfig
nuxt
appDir
Type: string
Default: ""
build
analyze
Type: object
Default
{

  "template": "treemap",

  "projectRoot": "/<rootDir>",

  "filename": "/<rootDir>/.nuxt/analyze/{name}.html"

}

templates
Type: array
transpile
Type: array
buildDir
Type: string
Default: "/<rootDir>/.nuxt"
builder
Type: string
Default: "@nuxt/vite-builder"
components
Type: object
Default
{

  "dirs": [

    {

      "path": "~/components/global",

      "global": true

    },

    "~/components"

  ]

}

css
Type: array
debug
Type: boolean
Default: false
dev
Type: boolean
Default: false
devServer
host
https
Type: boolean
Default: false
loadingTemplate
Type: function
port
Type: number
Default: 3000
url
Type: string
Default: "http://localhost:3000"
devServerHandlers
Type: array
devtools
dir
assets
Type: string
Default: "assets"
layouts
Type: string
Default: "layouts"
middleware
Type: string
Default: "middleware"
modules
Type: string
Default: "modules"
pages
Type: string
Default: "pages"
plugins
Type: string
Default: "plugins"
public
Type: string
Default: "public"
static
Type: string
Default: "public"
experimental
appManifest
Type: boolean
Default: true
asyncContext
Type: boolean
Default: false
asyncEntry
Type: boolean
Default: false
clientFallback
Type: boolean
Default: false
componentIslands
Type: boolean
Default: false
configSchema
Type: boolean
Default: true
crossOriginPrefetch
Type: boolean
Default: false
defaults
nuxtLink
componentName
Type: string
Default: "NuxtLink"
useAsyncData
deep
Type: boolean
Default: true
useFetch
emitRouteChunkError
Type: string
Default: "automatic"
externalVue
Type: boolean
Default: true
headNext
Type: boolean
Default: false
inlineRouteRules
Type: boolean
Default: false
inlineSSRStyles
Type: boolean
Default: true
localLayerAliases
Type: boolean
Default: true
noScripts
Type: boolean
Default: false
noVueServer
Type: boolean
Default: false
payloadExtraction
Type: boolean
Default: true
polyfillVueUseHead
Type: boolean
Default: false
reactivityTransform
Type: boolean
Default: false
renderJsonPayloads
Type: boolean
Default: true
respectNoSSRHeader
Type: boolean
Default: false
restoreState
Type: boolean
Default: false
templateRouteInjection
Type: boolean
Default: true
treeshakeClientOnly
Type: boolean
Default: true
typedPages
Type: boolean
Default: false
typescriptBundlerResolution
Type: boolean
Default: false
viewTransition
Type: boolean
Default: false
watcher
Type: string
Default: "chokidar-granular"
writeEarlyHints
Type: boolean
Default: false
extends
Default: null
extensions
Type: array
Default
[

  ".js",

  ".jsx",

  ".mjs",

  ".ts",

  ".tsx",

  ".vue"

]

generate
exclude
Type: array
routes
Type: array
hooks
Default: null
ignore
Type: array
Default
[

  "**/*.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}",

  ".nuxt/analyze",

  ".nuxt",

  "**/-*.*"

]

ignoreOptions
ignorePrefix
Type: string
Default: "-"
imports
dirs
Type: array
global
Type: boolean
Default: false
logLevel
Type: string
Default: "info"
modules
Type: array
modulesDir
Type: array
Default
[

  "/<rootDir>/node_modules",

  "/Users/daniel/code/nuxt.js/packages/schema/node_modules"

]

nitro
routeRules
Type: object
optimization
asyncTransforms
asyncFunctions
Type: array
Default
[

  "defineNuxtPlugin",

  "defineNuxtRouteMiddleware"

]

objectDefinitions
defineNuxtComponent
Type: array
Default
[

  "asyncData",

  "setup"

]

defineNuxtPlugin
Type: array
Default
[

  "setup"

]

definePageMeta
Type: array
Default
[

  "middleware",

  "validate"

]

keyedComposables
Type: array
Default
[

  {

    "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
client
Type: object
Default
{

  "vue": [

    "onServerPrefetch",

    "onRenderTracked",

    "onRenderTriggered"

  ],

  "#app": [

    "definePayloadReducer",

    "definePageMeta"

  ]

}

server
Type: object
Default
{

  "vue": [

    "onBeforeMount",

    "onMounted",

    "onBeforeUpdate",

    "onRenderTracked",

    "onRenderTriggered",

    "onActivated",

    "onDeactivated",

    "onBeforeUnmount"

  ],

  "#app": [

    "definePayloadReviver",

    "definePageMeta"

  ]

}

pages
Type: boolean
plugins
Type: array
postcss
plugins
autoprefixer
cssnano
Type: object
rootDir
Type: string
Default: "/<rootDir>"
routeRules
router
options
hashMode
Type: boolean
Default: false
scrollBehaviorType
Type: string
Default: "auto"
runtimeConfig
Type: object
Default
{

  "public": {},

  "app": {

    "baseURL": "/",

    "buildAssetsDir": "/_nuxt/",

    "cdnURL": ""

  }

}

serverDir
Type: string
Default: "/<rootDir>/server"
serverHandlers
Type: array
sourcemap
Type: object
Default
{

  "server": true,

  "client": false

}

spaLoadingTemplate
Default: null
srcDir
Type: string
Default: "/<rootDir>"
ssr
Type: boolean
Default: true
telemetry
test
Type: boolean
Default: false
theme
Type: string
Default: null
typescript
builder
Default: null
includeWorkspace
Type: boolean
Default: false
shim
Type: boolean
Default: true
strict
Type: boolean
Default: true
tsConfig
Type: object
Default
{

  "compilerOptions": {}

}

typeCheck
Type: boolean
Default: false
vite
build
assetsDir
Type: string
Default: "_nuxt/"
emptyOutDir
Type: boolean
Default: false
clearScreen
Type: boolean
Default: true
define
Type: object
Default
{

  "process.dev": false,

  "import.meta.dev": false,

  "process.test": false,

  "import.meta.test": false

}

esbuild
jsxFactory
Type: string
Default: "h"
jsxFragment
Type: string
Default: "Fragment"
tsconfigRaw
Type: string
Default: "{}"
mode
Type: string
Default: "production"
optimizeDeps
exclude
Type: array
Default
[

  "vue-demi"

]

publicDir
Type: string
Default: "/<rootDir>/public"
resolve
extensions
Type: array
Default
[

  ".mjs",

  ".js",

  ".ts",

  ".jsx",

  ".tsx",

  ".json",

  ".vue"

]

root
Type: string
Default: "/<rootDir>"
server
fs
allow
Type: array
Default
[

  "/<rootDir>/.nuxt",

  "/<rootDir>",

  "/<rootDir>",

  "/<rootDir>",

  "/<rootDir>/node_modules",

  "/Users/daniel/code/nuxt.js/packages/schema/node_modules"

]

vue
isProduction
Type: boolean
Default: true
script
defineModel
Type: boolean
Default: false
propsDestructure
Type: boolean
Default: false
template
compilerOptions
Type: object
vueJsx
Type: object
vue
compilerOptions
defineModel
Type: boolean
Default: false
propsDestructure
Type: boolean
Default: false
runtimeCompiler
Type: boolean
Default: false
watch
Type: array
watchers
chokidar
ignoreInitial
Type: boolean
Default: true
rewatchOnRawEvents
webpack
aggregateTimeout
Type: number
Default: 1000
webpack
aggressiveCodeRemoval
Type: boolean
Default: false
analyze
Type: object
Default
{

  "template": "treemap",

  "projectRoot": "/<rootDir>",

  "filename": "/<rootDir>/.nuxt/analyze/{name}.html"

}

cssSourceMap
Type: boolean
Default: false
devMiddleware
stats
Type: string
Default: "none"
experiments
extractCSS
Type: boolean
Default: true
filenames
app
Type: function
chunk
Type: function
css
Type: function
font
Type: function
img
Type: function
video
Type: function
friendlyErrors
Type: boolean
Default: true
hotMiddleware
loaders
css
esModule
Type: boolean
Default: false
importLoaders
Type: number
Default: 0
url
filter
Type: function
cssModules
esModule
Type: boolean
Default: false
importLoaders
Type: number
Default: 0
modules
localIdentName
Type: string
Default: "[local]_[hash:base64:5]"
url
filter
Type: function
esbuild
file
esModule
Type: boolean
Default: false
fontUrl
esModule
Type: boolean
Default: false
limit
Type: number
Default: 1000
imgUrl
esModule
Type: boolean
Default: false
limit
Type: number
Default: 1000
less
Default
{

  "sourceMap": false

}

pugPlain
sass
sassOptions
indentedSyntax
Type: boolean
Default: true
scss
Default
{

  "sourceMap": false

}

stylus
Default
{

  "sourceMap": false

}

vue
compilerOptions
Type: object
defineModel
Type: boolean
Default: false
propsDestructure
Type: boolean
Default: false
transformAssetUrls
embed
Type: string
Default: "src"
object
Type: string
Default: "src"
source
Type: string
Default: "src"
video
Type: string
Default: "src"
vueStyle
Default
{

  "sourceMap": false

}

optimization
minimize
Type: boolean
Default: true
minimizer
runtimeChunk
Type: string
Default: "single"
splitChunks
automaticNameDelimiter
Type: string
Default: "/"
cacheGroups
chunks
Type: string
Default: "all"
optimizeCSS
Type: boolean
Default: false
plugins
Type: array
postcss
postcssOptions
config
plugins
Type: object
Default
{

  "autoprefixer": {},

  "cssnano": {}

}

profile
Type: boolean
Default: false
serverURLPolyfill
Type: string
Default: "url"
warningIgnoreFilters
Type: array
workspaceDir
Type: string
Default: "/<rootDir>"

Import meta

Understand where your code is running using `import.meta`.

Getting Help

We're a friendly community of developers and we'd love to help.