0

私は流星アプリを作成していますが、ファイルの読み込み順序を制御できるように、それをパッケージに分割することにしました。ただし、多くのパッケージには、reactまたはのような共通の依存関係 (他の外部パッケージ) がありますmeteorhacks:flow-routermyapp:appアプリ内の他のパッケージが暗示するように、これらすべての依存関係を含むメイン パッケージを作成したいと考えています。

これはapppackage.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:tasksListreactapi.imply()reactmyapp:tasksList

4

1 に答える 1

1

あなたの質問に直接答えるために、いいえimplyは公開reactしませんmyapp:tasksList

次のように考える必要があります。

IMPLY passes references OUT
USE takes references IN

で行われていることを暗示しているのmyapp:tasksListは、何を使用myapp:tasksListしても にアクセスできるようにすることだけmyapp:appです。

で使用するmyapp:app(およびそれが公開するすべての参照を)するにはmyapp:tasksList、追加する必要もあります

  api.use([
      'myapp:app',
  ]);

myapp:tasksList

于 2015-11-11T13:15:00.540 に答える