Я создаю приложение meteor, и я решил разделить его на пакеты, чтобы я мог контролировать порядок загрузки файлов. Однако многие пакеты имеют общие зависимости (другие внешние пакеты), такие как react
или meteorhacks:flow-router
. Я хочу создать основной пакет myapp:app
со всеми этими зависимостями, что подразумевают другие пакеты в моем приложении.Пакет для агрегирования внешних пакетов в meteor.js
app
Это package.js:
Package.describe({
name: 'myapp:app',
version: '0.0.1'
});
Package.onUse(function(api) {
api.versionsFrom('1.2.1');
// All external packages that will be used by other local packages
api.use([
'twbs:bootstrap',
], 'client');
api.use([
'ecmascript',
'react',
'meteorhacks:flow-router'
], ['client', 'server']);
});
У меня есть пакет myapp:taskslist
, подразумевающие myapp:app
:
Package.describe({
name: 'myapp:taskslist',
version: '0.0.1'
});
Package.onUse(function(api) {
api.versionsFrom('1.2.1');
api.imply(['myapp:app']);
api.addFiles([
'client/tasksList.jsx',
'client/task.jsx',
'main.jsx'
], ['client']);
});
Однако это не работает. У меня есть ошибка No plugin known to handle file 'client/taskList.jsx'
, потому что myapp:tasksList
, не имеет react
плагин установлен. Не должно api.imply()
доля react
до myapp:tasksList
упаковка? Какое хорошее решение для этой проблемы?