2017-01-16 2 views
3

Я запустил команду:метеор не может найти модуль SyncedCron

метеоритных добавить перколенок: синхронизированный-хрон

после того как я добавить к моему серверу/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

Он завернут в блок Meteor.startup()? – zim

+0

Вы используете угловой 2 метеор. это может быть ошибка машинописного текста –

+0

Вы импортировали метеорный пакет? –

ответ

-1

syched-cron realy необходимо импортировать на ваш server.js? можете ли вы показать свой сервер/main.ts?

+0

Это должен быть комментарий по вопросу, а не ответ. –

+0

can not comment кроме моего сообщения, я новый –

-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); 
    } 
    }); 
}); 
+0

извините за поздний ответ. похоже, что вы сами решили часть этой проблемы. но если вы включили только импорт {SyncedCron} из 'meteor/percolate: synced-cron'; то вы столкнетесь с большей ошибкой «Не можете найти модуль» meteor/percolate: synced-cron ». Я добавил полное решение. вы можете проверить. –

+0

Это должно быть добавлено к исходному сообщению. Измените исходное сообщение. – soundslikeodd

2

Чтобы решить эту проблему, прежде всего, вам необходимо импортировать эту линию

import {SyncedCron} from 'meteor/percolate:synced-cron'; 

после импорта этой линии вы будете сталкиваться другую ошибку Cannot find module 'meteor/percolate:synced-cron
приходит Эта ошибка потому что у нас нет описания типов для percolate:synced-cron пакета в нашем файле typings.d.ts. Поэтому, чтобы удалить эту ошибку, вам нужно создать собственное определение типов для 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 {} 
    } 
} 

сейчас вы не получите никаких ошибок, связанных с перколяцией: synced-cron.

0

Amit.

Извините за поздний ответ.

Я вставил ваш код в свои 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 {} 
    } 
} 
+0

Вы включили импорт {SyncedCron} из 'meteor/percolate: synchronized-cron'; в файле main.ts. Я использовал этот пакет в своем проекте, и он отлично работает для меня, не получая никакой ошибки, и вы получаете ошибку SyncedCron, не просачивающуюся: syned-cron не найден. поэтому проверьте, как вы импортировали SyncedCron. и если его возможно добавить plnkr вашего кода. –

+0

и еще одна вещь. ваш код SyncedCron должен находиться внутри Meteor.startup() на стороне сервера –

Смежные вопросы