功能

啟用或停用可選的 Nuxt 特性,以解鎖新的可能性。

Nuxt 的一些特性是可選的,或者可以根據您的需求停用。

特性

devLogs

在開發過程中將伺服器日誌流式傳輸到客戶端。這些日誌可以在 dev:ssr-logs 鉤子中處理。

預設情況下,在開發模式(測試模式未啟用時)下啟用此功能。

如果設定為 silent,日誌將不會列印到瀏覽器控制檯。

nuxt.config.ts
export default defineNuxtConfig({
  features: {
    devLogs: true,
  },
})

inlineStyles

在渲染 HTML 時內聯樣式。目前僅在使用 Vite 時可用。

您還可以傳入一個函式,該函式接收 Vue 元件的路徑並返回一個布林值,指示是否內聯該元件的樣式。

它預設為 (id) => id.includes('.vue')

nuxt.config.ts
export default defineNuxtConfig({
  features: {
    inlineStyles: false, // or a function to determine inlining
  },
})

noScripts

關閉 Nuxt 指令碼和 JavaScript 資源提示的渲染。也可以在 routeRules 中進行精細配置。

您還可以在 routeRules 中更精細地停用指令碼。

如果設定為 'production' 或 true,JavaScript 將僅在生產模式下停用。如果設定為 'all',JavaScript 將在開發和生產模式下停用。

nuxt.config.ts
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 中多應用支援的進展。

nuxt.config.ts
export default defineNuxtConfig({
  future: {
    multiApp: true,
  },
})

typescriptBundlerResolution

這為 TypeScript 啟用了“Bundler”模組解析模式,這是 Nuxt 等框架的推薦設定,並且Vite.

它在使用帶有 exports 的現代庫時改進了型別支援。

請參閱原始的 TypeScript pull request.

您可以將其設定為 false 以使用傳統的“Node”模式,這是 TypeScript 的預設設定。

nuxt.config.ts
export default defineNuxtConfig({
  future: {
    typescriptBundlerResolution: false,
  },
})