vite ReferenceError 上的 pouchdb 错误:未定义全局

问题描述 投票:0回答:1

当我按照官方 pouchdb 文档中的说明并尝试使用 pouchdb 时,它给我一个错误:

ReferenceError: global is not defined

我正在使用 Vite,特别是在 Quasar Vue3 项目中

//package.json
"pouchdb": "^8.0.1",
"quasar": "^2.6.0",
"vue": "^3.0.0",
"vite": "^2.5.10",

代码错误 从“pouchdb”导入 PouchDB; const dbprueba = new PouchDB('小猫');

显然发生错误是因为“全局”对象不再在 Vite 中公开,而 pouchdb 引用了该对象。

有谁知道需要对项目进行哪些调整才能解决这个问题?

有谁知道需要对项目进行哪些调整才能解决这个问题?

vite pouchdb quasar
1个回答
0
投票

在互联网上搜索有关该错误的文档很少,但我设法找到了解决方案,而且非常简单。

第1步: 我们必须安装一个名为 events 的附加包

npm install events

package.json 行

"events": "^3.3.0",

第2步: 搜索 .html 文件,通常是 index.html 并在那里放置一行脚本,我建议将其放在最后,在关闭头部之前,但是当将其作为“的第一行”时它也可以工作身体”

<script>window.global = window</script>

这一行的作用是声明“全局”变量,以便 pouchDB 使用它,因为 Vite 没有声明该变量。

第3步: 现在我们可以导入并使用 pouchdb,下面的示例创建一个集合,然后将其信息打印到控制台。

import PouchDB from 'pouchdb';
const dbprueba = new PouchDB('kittens');
dbprueba.info().then(function (info) {
      console.log(info);
});
© www.soinside.com 2019 - 2024. All rights reserved.