功能
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 环境 API。
export default defineNuxtConfig({
future: {
compatibilityVersion: 5,
},
})
multiApp
启用对实验性多应用支持的早期访问。您可以关注 追踪问题 #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,
},
})