功能
Nuxt 的一些特性是可選的,或者可以根據您的需求停用。
特性
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
名稱空間,用於提前選擇新特性,這些特性將在框架的未來(可能主要)版本中成為預設設定。
compatibilityVersion
這使得可以提前訪問 Nuxt 特性或標誌。
將 compatibilityVersion
設定為 5
會改變您 Nuxt 配置中的預設設定,以選擇 Nuxt v5 的行為。
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,
},
})