功能
启用或禁用可选的 Nuxt 功能以解锁新的可能性。
Nuxt 的某些功能是基于选择性启用的,或者可以根据您的需要禁用。
features
inlineStyles
在渲染 HTML 时内联样式。目前仅在使用 Vite 时可用。
您还可以传递一个函数,该函数接收 Vue 组件的路径并返回一个布尔值,指示是否为该组件内联样式。
nuxt.config.ts
export default defineNuxtConfig({
features: {
inlineStyles: false // 或一个函数来决定是否内联
}
})
noScripts
禁用 Nuxt 脚本和 JS 资源提示的渲染。也可以在 routeRules
中进行细粒度配置。
nuxt.config.ts
export default defineNuxtConfig({
features: {
noScripts: true
}
})
future
还有一个 future
命名空间,用于提前选择将来(可能是主要版本)框架中将成为默认的新功能。
compatibilityVersion
此配置选项在 Nuxt v3.12+ 中可用。请注意,目前您需要在每个选择 Nuxt 4 行为的层中定义兼容性版本。在 Nuxt 4 发布后,这将不再需要。
这使您可以提前访问 Nuxt 功能或标志。
将 compatibilityVersion
设置为 4
会更改整个 Nuxt 配置中的默认设置,以选择 Nuxt v4 行为,但您可以在测试时细粒度地重新启用 Nuxt v3 行为(请参见示例)。如果有问题,请提交问题,以便我们可以在 Nuxt 或生态系统中解决。
export default defineNuxtConfig({
future: {
compatibilityVersion: 4,
},
// 要重新启用 _所有_ Nuxt v3 行为,请设置以下选项:
srcDir: '.',
dir: {
app: 'app'
},
experimental: {
scanPageMeta: 'after-resolve',
sharedPrerenderData: false,
compileTemplate: true,
resetAsyncDataToUndefined: true,
templateUtils: true,
relativeWatchPaths: true,
normalizeComponentNames: false
defaults: {
useAsyncData: {
deep: true
}
}
},
features: {
inlineStyles: true
},
unhead: {
renderSSRHeadOptions: {
omitLineBreaks: false
}
}
})
typescriptBundlerResolution
这启用了 TypeScript 的 'Bundler' 模块解析模式,这是推荐的设置 适用于像 Nuxt 和 Vite 这样的框架。
它在使用现代库和 exports
时提高了类型支持。
请参阅 原始 TypeScript 拉取请求。
nuxt.config.ts
export default defineNuxtConfig({
future: {
typescriptBundlerResolution: true
}
})