在 JavaScript 文件中添加 Dexie.js 查询提示缺少类型

Adding Dexie.js queries in JavaScript file gives hint of missing type

如果我在 JavaScript 文件中添加 Dexie.js 查询,例如:

let friends = liveQuery(async () => {
  return await db.friends
    .where("age")
    .between(18, 65)
    .toArray();
});

我得到这样的提示:

"Property 'friends' does not exist on type 'Dexie'.ts(2339)"

为什么?

将它放在 Svelte 文件中很好,但我想将一些基本查询放在一个地方,例如查找、添加和删除。

我想你指的是 TypeScript 错误。如果您没有按照 Dexie's Svelte tutorial 上的建议对 Dexie 进行子类化,则不能在没有 TypeScript 抱怨的情况下直接使用 db.friends。如果不想继承Dexie,也可以使用table()方法:

let friends = liveQuery(async () => {
  return await db.table('friends')
    .where("age")
    .between(18, 65)
    .toArray();
});