特性开关
启用或禁用可选的 Nuxt 特性,以解锁新的可能性。
Nuxt 的一些特性是按需启用的,也可以根据你的需求禁用。
features
devLogs
在开发时,将服务端日志流式传输到客户端。这些日志可以在 dev:ssr-logs 钩子中处理。
默认情况下,这在开发模式下启用(当测试模式未激活时)。
如果设为 silent,日志将不会打印到浏览器控制台。
export default defineNuxtConfig({
features: {
devLogs: true,
},
})
inlineStyles
在渲染 HTML 时内联样式。目前仅在使用 Vite 时可用。
你也可以传入一个函数,该函数接收 Vue 组件的路径,并返回一个布尔值,指示是否内联该组件的样式。
它默认为 (id) => id.includes('.vue')。
export default defineNuxtConfig({
features: {
inlineStyles: false, // 或传入一个函数来决定是否内联
},
})
noScripts
关闭 Nuxt 脚本和 JavaScript 资源提示的渲染。也可以在 routeRules 中更细粒度地配置。
你也可以在 routeRules 中更细粒度地禁用脚本。
如果设为 'production' 或 true,JavaScript 仅在生产模式下被禁用。如果设为 'all',JavaScript 在开发和生产模式下都会被禁用。
export default defineNuxtConfig({
features: {
noScripts: true, // 或 'production' | 'all' | false
},
})
future
还有一个 future 命名空间,用于提前选择加入将在未来(可能是大版本)框架中成为默认的新特性。
compatibilityVersion
此选项可提前访问 Nuxt 特性或标志。
将 compatibilityVersion 设为 5,会在你的 Nuxt 配置中改变默认值以选择加入 Nuxt v5 的行为,包括启用 Vite Environment API。
export default defineNuxtConfig({
future: {
compatibilityVersion: 5,
},
})
了解更多关于测试 Nuxt 5 的内容。 :::
multiApp
此选项可提前访问实验性的多应用支持。你可以关注 跟踪 issue #21635 来了解 Nuxt 中多应用支持的进展。
export default defineNuxtConfig({
future: {
multiApp: true,
},
})
typescriptBundlerResolution
此选项为 TypeScript 启用 'Bundler' 模块解析模式,这是像 Nuxt 和 Vite 这样的框架的推荐设置。
它在使用带有 exports 的现代库时改进了类型支持。
参见 原始的 TypeScript pull request。
你可以将其设为 false 以使用传统的 'Node' 模式,这是 TypeScript 的默认模式。
export default defineNuxtConfig({
future: {
typescriptBundlerResolution: false,
},
})