2016-05-28 2 views
1

Мне нужно проверить, установлен ли в моем приложении пакет my-package:notification.Как проверить, установлен ли пакет Meteor?

Только тогда используется другой шаблон (который является частью этого пакета).

Что-то вроде этого:

<template name="example"> 
    {{#if hasNotificationPackage}} 
     {{>notification}} 
    {{/if}} 
</template> 

Как я могу это сделать?

ответ

0

Метеор обеспечивает глобальный объект с именем Package, который содержит весь экспорт пакета Метеора.

Таким образом, вы можете использовать что-то вроде

Template.example.helpers({ 
    hasNotificationPackage() { 
    return (typeof Package['my-package:notification'] === 'object'); 
    } 
}); 

Я не уверен, что в зависимости от наличия пакета таким образом, является то, что следует использовать часто, особенно в производстве.

0

Предполагая, что ваш пакет использует объект/переменную, доступную в ваших проектах. Вам просто нужно написать помощник для обходного

Template.example.helpers({ 
hasNotificationPackage: function(){ 
     return (PackageObj) ? true: false; //PackageObj is your package permissible object 
    } 

}); 
+0

Не могли бы вы привести пример, как создать «PackageObj»? – user3142695

+0

Я/вы бы не создавали объект. Это автор пакетов, который делает этот объект доступным. здесь 'PackageObj' является просто иллюстрацией –

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