You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt升级至3.12.2后服务器运行时导入@nuxt/kit报错求助

Nuxt 3.7.4升级至3.12.2后服务器运行时导入@nuxt/kit报错的解决方案

这个是Nuxt 3.8版本之后引入的已知行为变更,并非bug。从Nuxt 3.8开始,框架对服务器运行时(Server Runtime)的模块边界做了更严格的隔离,@nuxt/kit属于构建时/模块上下文专属工具库,不允许在服务器运行时代码(比如server/routes下的文件)中导入。

解决步骤:

  • 定位到报错文件../../packages/bloomreach/src/runtime/server/routes/br-request.get.ts,移除其中对@nuxt/kit的导入
    • 如果你需要用到@nuxt/kit里的功能,把相关逻辑迁移到Nuxt模块文件(项目modules目录下的代码,或自定义模块的主文件)中;如果是读取配置,改用服务器运行时可用的useRuntimeConfig()替代
  • 检查所有自定义模块(包括项目依赖的bloomreach模块),确保没有在runtime/server目录下的代码里引入@nuxt/kit
  • 清理项目缓存并重新构建:
    npx nuxi clean
    npm run build
    

你的nuxt.config配置参考:

import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'

export default defineNuxtConfig({
  app: {
    head: {
      script: [
        {
          src: '/assets/js/lightning.js',
          tagPosition: 'bodyClose',
        },
      ],
    },
  },

  postcss: {
    plugins: {
      tailwindcss: {},
      autoprefixer: {},
    },
  },
  css: ['@pl-web/cms-ui/src/runtime/assets/styles/global.scss'],
  build: {
    transpile: ['vuetify'],
  },
  modules: [
    (_options, nuxt) => {
      nuxt.hooks.hook('vite:extendConfig', (config) => {
        // @ts-expect-error
        config.plugins.push(vuetify({ autoImport: true }))
      })
    },
    '@pinia/nuxt',
    '@nuxt/devtools',
  ],

  vite: {
    vue: {
      template: {
        transformAssetUrls,
      },
    },
  },
})

内容的提问来源于stack exchange,提问作者Pimmesz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:01:11