发布
社区首页 >问答首页 >用于在meteor.js中聚合外部包的包

用于在meteor.js中聚合外部包的包
EN

Stack Overflow用户
提问于 2015-11-11 12:06:41
回答 1查看 165关注 0票数 0

我正在创建流星应用程序,我决定把它分成包,这样我就可以控制文件加载顺序。但是,许多包都有共同的依赖项(其他外部包),如reactmeteorhacks:flow-router。我想要创建包含所有这些依赖项的主myapp:app包,我的应用程序中的其他包就意味着这一点。

我是app package.js:

代码语言:javascript
代码运行次数:0
复制
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

代码语言:javascript
代码运行次数:0
复制
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包吗?解决这个问题的好办法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-11 13:15:00

要直接回答您的问题,没有一个imply不向myapp:tasksList公开react

你需要这样想:

代码语言:javascript
代码运行次数:0
复制
IMPLY passes references OUT
USE takes references IN

myapp:tasksList中的所有暗示都是允许任何使用myapp:tasksList的人访问myapp:app

为了在myapp:app中使用myapp:tasksList (以及它公开的所有引用),您还需要添加

代码语言:javascript
代码运行次数:0
复制
  api.use([
      'myapp:app',
  ]);

转到myapp:tasksList

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33650201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档