功能
Nuxt 的某些功能是可选的(opt-in),也可以根据您的需求进行禁用。
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, // or a function to determine inlining
},
})
noScripts
关闭 Nuxt 脚本和 JavaScript 资源提示的渲染。也可以在 routeRules 中进行细粒度配置。
您还可以在 routeRules 中更细致地禁用脚本。
如果设置为 'production' 或 true,则仅在生产模式下禁用 JavaScript。如果设置为 'all',则在开发和生产模式下都会禁用 JavaScript。
export default defineNuxtConfig({
features: {
noScripts: true, // or 'production' | 'all' | false
},
})
future
此外还有一个 future 命名空间,用于提前启用在框架未来版本(可能是主版本)中将成为默认配置的新功能。
compatibilityVersion
这可以提前使用 Nuxt 功能或标志。
将 compatibilityVersion 设置为 5 会更改整个 Nuxt 配置的默认值,从而选择 Nuxt v5 行为,包括启用 Vite Environment API。
export default defineNuxtConfig({
future: {
compatibilityVersion: 5,
},
})
multiApp
这可以提前使用实验性的多应用支持。您可以关注tracker 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,
},
})