我已经运行了命令:
meteor add percolate:synced-cron
添加到我的服务器/ main.ts后
SyncedCron.add({
name: 'Crunch some important numbers for the marketing department',
schedule: function(parser) {
// parser is a later.parse object
return parser.text('every 0.5 minutes');
},
job: function() {
return 1;
}
});
SyncedCron.start();
当我启动服务器时,它正在说
找不到名字'SyncedCron'
我试图导入“synced-cron”也行不通。 我的流星版Meteor 1.4.2.3 有人可以帮忙吗?
答案 0 :(得分:2)
首先要解决此问题,您需要导入此行
import {SyncedCron} from 'meteor/percolate:synced-cron';
导入此行后,您将面临另一个错误Cannot find module 'meteor/percolate:synced-cron
出现此错误是因为我们的typings.d.ts文件中没有percolate:synced-cron
包的任何打字稿定义。因此,要删除此错误,您必须为percolate创建自己的打字稿定义:synced-cron。所以只需将这些行添加到您的typings.d.ts文件或@typings文件夹流星定义中。
declare module "meteor/percolate:synced-cron"{
export module SyncedCron {
function add ({ name: string, schedule:(parser: any): any, job:(): any })
function start(): any {}
}
}
现在您不会收到与percolate相关的任何错误:synced-cron。
答案 1 :(得分:0)
阿米特。
很抱歉迟到的回复。
我已将你的代码粘贴到我的typings.d.ts中,我仍然得到server / main.ts(13,3):找不到名字' SyncedCron',下面是我的typings.d .ts文件。
/// <reference types="zone.js" />
/// <reference types="meteor-typings" />
/// <reference types="@types/underscore" />
/// <reference types="@types/node" />
declare module '*.html' {
const template: string;
export default template;
}
declare module '*.scss' {
const style: string;
export default style;
}
declare module '*.less' {
const style: string;
export default style;
}
declare module '*.css' {
const style: string;
export default style;
}
declare module '*.sass' {
const style: string;
export default style;
}
declare module 'meteor/tmeasday:publish-counts' {
import { Mongo } from 'meteor/mongo';
interface CountsObject {
get(publicationName: string): number;
publish(context: any, publicationName: string, cursor: Mongo.Cursor, options: any): number;
}
export const Counts: CountsObject;
}
declare module 'meteor/accounts-base' {
module Accounts {
function requestPhoneVerification(phoneNumber: string, callback?: Function): void;
function verifyPhone(phoneNumber: string, code: string, callback?: Function): void;
}
}
declare module "meteor/percolate:synced-cron"{
export module SyncedCron {
function add ({ name: string, schedule:(parser: any): any, job:(): any })
function start(): any {}
}
}
答案 2 :(得分:-1)
是syched-cron真的需要在你的server.js上导入吗? 你能展示你的服务器/ main.ts吗?
答案 3 :(得分:-1)
这是代码
import { Meteor } from 'meteor/meteor';
import {SyncedCron} from 'meteor/percolate:synced-cron';
Meteor.startup(() => {
SyncedCron.add({
name: 'Crunch some important numbers for the marketing department',
schedule: function(parser) {
// parser is a later.parse object
return parser.text('every 0.25 minutes');
},
job: function() {
return console.log(1234);
}
});
});