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

Vite+Quasar Vue3项目使用PouchDB报错ReferenceError: global is not defined

解决Vite+Quasar Vue3中PouchDB的global is not defined错误

针对你遇到的问题,有两种直接有效的解决方式:

方法一:修改Quasar的Vite配置

在项目根目录的quasar.config.js文件中,找到build下的vite配置项,添加define规则将global映射到浏览器的window对象:

module.exports = configure(function (ctx) {
  return {
    // ...其他配置
    build: {
      vite: {
        define: {
          'global': 'window'
        }
      }
    }
    // ...其他配置
  }
})

方法二:在入口文件提前定义全局对象

在项目入口文件(通常是src/main.js)的最顶部,先手动将window赋值给global,再引入PouchDB:

// 先定义global对象
window.global = window;
// 再引入并使用PouchDB
import PouchDB from 'pouchdb';

const dbprueba = new PouchDB('kittens');

原理说明

Vite默认不会在浏览器环境中暴露Node.js的global对象,但PouchDB的部分内部逻辑依赖这个全局标识。通过上述两种方式,为PouchDB提供它需要的全局上下文,即可解决报错问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:22:13