我在我的 Meteor 2.12 项目中使用 TypeScript 来使用
dburles:collection-helpers
。我用 meteor add dburles:collection-helpers
添加了这个包,并用 meteor yarn add @types/meteor-dburles-collection-helpers
添加了类型。
在我的 TS 文件中:
import { Mongo } from "meteor/mongo";
import SimpleSchema from 'simpl-schema';
...
interface IBackupJobs {
status: "queued" |
"in_progress" |
"restarting" |
"finished_ok" |
"finished_error"
...
}
const BackupJobsSchema = new SimpleSchema({
status: {
type: String,
allowedValues: [
"queued",
"in_progress",
"restarting",
"finished_ok",
"finished_error"
]
},
...
});
const BackupJobs = new Mongo.Collection<IBackupJobs>("backup_jobs");
BackupJobs.attachSchema(BackupJobsSchema);
BackupJobs.helpers({
isRunning() {
return (
this.status === "queued" ||
this.status === "in_progress" ||
this.status === "restarting"
);
}
});
但是很多 IDE 给我一个错误:
BackupJobs.helpers
:属性“helpers”在类型 Collection 上不存在我尝试将
meteor-dburles-collection-helpers
中的类型文件放入我自己的 typings-custom
项目文件夹中,但出现了相同的错误。
有什么想法吗?
我发现添加
import 'meteor-dburles-collection-helpers'
可以解决此问题,但我必须向 isRunning
添加 IBackupJobs
属性。所以界面是:
interface IBackupJobs {
status: "queued" |
"in_progress" |
"restarting" |
"finished_ok" |
"finished_error"
...
isRunning: () => boolean
}