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

pnpm monorepo中子模块执行git init后Nuxt项目出现Vite请求白名单错误

解决Vite服务允许列表错误(The request url * is outside of Vite serving allow list)

这个问题是因为初始化Git后,Vite的文件服务安全策略限制了对pnpm工作区软链依赖或Git子模块路径的访问,以下是几个可行的解决办法:

  • 配置Nuxt的Vite服务器允许路径
    在项目根目录的nuxt.config.ts中添加server.fs.allow配置,明确允许Vite访问工作区相关路径,比如:

    export default defineNuxtConfig({
      vite: {
        server: {
          fs: {
            // 允许访问工作区根目录(适配当前项目在工作区子目录的场景)
            allow: ['../..']
          }
        }
      }
    })
    

    如果你不确定具体路径,也可以用process.cwd()动态获取工作区根目录,确保覆盖所有子模块和pnpm软链依赖的路径范围。

  • 检查Git配置与文件权限
    确认初始化Git后生成的.gitignore没有误屏蔽子模块目录或pnpm的node_modules软链;同时检查Git子模块是否已正确拉取,子模块目录的文件权限是否正常(避免Vite无法读取文件)。

  • 清除缓存重置状态
    执行以下命令清除pnpm和Nuxt的缓存,避免旧缓存导致的路径异常:

    pnpm store prune
    npx nuxt clean
    pnpm install
    

注:构建正常但开发服务报错的原因是——Vite开发服务器有严格的文件访问安全限制,而生产构建是直接将文件打包到输出目录,不会触发这类路径合法性检查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 05:50:21