Ответ 1
Решено! Добавьте эту строку:
api.use(['templating'], 'client');
У меня есть этот шаблон:
<template name="sample">
<h1>Sample</h1>
</template>
Внутри приложения Meteor я могу добавить это в тело таким образом (как частичное):
{{> sample}}
Это работает. Я даже тестировал вызов Template.sample(); внутри консоли браузера и работает.
Когда я перемещаю это внутри своего пакета (т.е. файл sample.html внутри папки моего пакета), шаблон, кажется, исчезает: я получаю Template.sample() is not a function
всякий раз, когда я вызываю функцию, и я даже не способен отображать ее как частичную.
У меня есть package.js
с этим кодом (и, очевидно, пакет правильно загружен внутри моего приложения через packages
файл в .meteor
):
Package.on_use(function (api) {
api.add_files(['sample.html', 'sample.js'], 'client');
});
Почему это не работает? Как я могу добавить (реактивный) шаблон к телу из своего пакета?
Решено! Добавьте эту строку:
api.use(['templating'], 'client');
также важно включить файл html
перед js
api.add_files("client/sampleTemplate.html", "client");
api.add_files("client/sampleTemplate.js", "client");
Включить в файл packages.js
пакета
перед
api.use('meteor-platform');
api.use('ui');`
после первые ".html" файлы после файлов ".js"
api.addFiles('filename.html','client');
api.addFiles('filename.js','client');`