当我按照官方 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 引用了该对象。
有谁知道需要对项目进行哪些调整才能解决这个问题?
有谁知道需要对项目进行哪些调整才能解决这个问题?
在互联网上搜索有关该错误的文档很少,但我设法找到了解决方案,而且非常简单。
第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);
});