我正在创建流星应用程序,我决定把它分成包,这样我就可以控制文件加载顺序。但是,许多包都有共同的依赖项(其他外部包),如react
或meteorhacks:flow-router
。我想要创建包含所有这些依赖项的主myapp:app
包,我的应用程序中的其他包就意味着这一点。
我是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
to myapp:tasksList
包吗?解决这个问题的好办法是什么?
发布于 2015-11-11 13:15:00
要直接回答您的问题,没有一个imply
不向myapp:tasksList
公开react
你需要这样想:
IMPLY passes references OUT
USE takes references IN
myapp:tasksList
中的所有暗示都是允许任何使用myapp:tasksList
的人访问myapp:app
。
为了在myapp:app
中使用myapp:tasksList
(以及它公开的所有引用),您还需要添加
api.use([
'myapp:app',
]);
转到myapp:tasksList
https://stackoverflow.com/questions/33650201
复制相似问题