功能

启用或禁用可选的 Nuxt 特性,以解锁新的可能性。

Nuxt 的某些功能是可选加入的,或者可以根据您的需求禁用。

features

devLogs

在开发过程中将服务器日志流式传输到客户端。这些日志可以在 dev:ssr-logs hook 中处理。

默认情况下,这在开发中启用(当测试模式未激活时)。

如果设置为 silent,日志将不会打印到浏览器控制台。

nuxt.config.ts
export default defineNuxtConfig({
  features: {
    devLogs: true,
  },
})

inlineStyles

在渲染 HTML 时内联样式。目前仅在使用 Vite 时可用。

您还可以传递一个函数,该函数接收 Vue 组件的路径并返回一个布尔值,指示是否应内联该组件的样式。

默认值为 (id) => id.includes('.vue')

nuxt.config.ts
export default defineNuxtConfig({
  features: {
    inlineStyles: false, // or a function to determine inlining
  },
})

noScripts

关闭 Nuxt 脚本和 JavaScript 资源提示的渲染。也可以在 routeRules 中进行细粒度配置。

您也可以在 routeRules 中更精细地禁用脚本。

如果设置为 'production' 或 true,JavaScript 将仅在生产模式下禁用。如果设置为 'all',JavaScript 将在开发和生产模式下都被禁用。

nuxt.config.ts
export default defineNuxtConfig({
  features: {
    noScripts: true, // or 'production' | 'all' | false
  },
})

future

还有一个 future 命名空间,用于提前选择框架未来(可能是大版本)版本中将成为默认的新功能。

compatibilityVersion

这可以提前访问 Nuxt 特性和标志。

compatibilityVersion 设置为 5 会更改整个 Nuxt 配置中的默认设置,以选择加入 Nuxt v5 行为,包括启用 Vite 环境 API

export default defineNuxtConfig({
  future: {
    compatibilityVersion: 5,
  },
})
了解更多关于测试 Nuxt 5 的信息。

multiApp

这可以提前访问实验性的多应用支持。您可以关注跟踪问题 #21635以查看 Nuxt 中多应用支持的进展。

nuxt.config.ts
export default defineNuxtConfig({
  future: {
    multiApp: true,
  },
})

typescriptBundlerResolution

这为 TypeScript 启用了“Bundler”模块解析模式,这是 Nuxt 等框架推荐的设置,并且Vite.

它改进了在使用带有 exports 的现代库时的类型支持。

请参阅原始 TypeScript pull request.

您可以将其设置为 false 以使用旧版的“Node”模式,这是 TypeScript 的默认设置。

nuxt.config.ts
export default defineNuxtConfig({
  future: {
    typescriptBundlerResolution: false,
  },
})