Nuxt Nation 大会即将到来。加入我们,时间为 11 月 12 日至 13 日。

功能

启用或禁用可选的 Nuxt 功能以解锁新的可能性。

Nuxt 的一些功能是可选的,或者可以根据您的需要禁用。

功能

inlineStyles

在渲染 HTML 时内联样式。这目前仅在使用 Vite 时可用。

您还可以传递一个函数,该函数接收 Vue 组件的路径并返回一个布尔值,指示是否为该组件内联样式。

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

noScripts

禁用 Nuxt 脚本和 JS 资源提示的渲染。也可以在 routeRules 中进行细粒度配置。

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

future

还有一个 future 命名空间,用于提前选择加入将来(可能是主要)版本的框架中将成为默认值的新功能。

compatibilityVersion

此配置选项在 Nuxt v3.12+ 中可用。

这可以提前访问 Nuxt 功能或标志。

compatibilityVersion 设置为 4 会更改整个 Nuxt 配置中的默认值以选择加入 Nuxt v4 行为,但您可以在测试时细粒度地重新启用 Nuxt v3 行为(请参阅示例)。如果这样做,请提交问题,以便我们可以在 Nuxt 或生态系统中解决。

export default defineNuxtConfig({
  future: {
    compatibilityVersion: 4,
  },
  // To re-enable _all_ Nuxt v3 behaviour, set the following options:
  srcDir: '.',
  dir: {
    app: 'app'
  },
  experimental: {
    scanPageMeta: 'after-resolve',
    sharedPrerenderData: false,
    compileTemplate: true,
    resetAsyncDataToUndefined: true,
    templateUtils: true,
    relativeWatchPaths: true,
    normalizeComponentNames: false
    defaults: {
      useAsyncData: {
        deep: true
      }
    }
  },
  unhead: {
    renderSSRHeadOptions: {
      omitLineBreaks: false
    }
  }
})

typescriptBundlerResolution

这为 TypeScript 启用“Bundler”模块解析模式,这是 Nuxt 和 Vite 等框架的推荐设置。

在使用带有 exports 的现代库时,它可以提高类型支持。

请参阅 原始 TypeScript 拉取请求

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