1

私の現在のプロジェクトはhttps://github.com/jimmack1963/localPackages.gitにあります。

私はこのコードを機能させようとしています:

console.log("You pressed the button, " + MyName);

ここで、MyName は simple というパッケージから取得されます。つまり、JUST LOCAL です。6.5につき、経由でエクスポートしています

Package.on_use(function (api, where) {
    api.add_files(['constant.js'], 'client');
  //below added per possible suggestion from Nathan, had no effect.
    api.use('constant.js', 'client');

    if (api.export)
        api.export('MyName');
});

コードをローカル パッケージに分解しようとしています。これはパッケージを公開することではなく、多くの場所で参照されているローカルのものを使用することです。私のパッケージは単に文字列 MyName を公開しようとしています。しかし、プロジェクトはそれを望んでいません。「私の名前は定義されていません。」

「Discover Meteor」のテクニックを真似たのですが、うまくいかず、別のことを試しています。Meteor 全般で多くの成功を収めています。

この仕様は変更されているようです。6.5 エクスポート要件を取得しましたが、基本プロジェクトがそのプロジェクトを smart.json (パッケージ内のものではない) に追加する必要があるという矛盾したアドバイスを簡単に見つけることができます。ほとんどの参考文献には、それが要件としてまったく記載されていません。

私はもう試した

{
  "packages": {
      "simple" : {
          "path": "packages/simple"
      }
  }
}

それをgitに入れ、別のプロジェクトから試します:

{
  "packages": {
 "simple" : {
          "git": "https://github.com/jimmack1963/localPackages.git"
      }     

    }
}

後者の場合、幸いなことに、インストーラーは十分に賢く、パッケージ自体を掘り下げて抽出し、git プロジェクトでパッケージをラップするプロジェクトを無視しました。良い!そのため、パッケージを git から直接インストールしても同じ問題が発生しますが、まだ公開されていません。

  • Ubuntu 13.04
  • 隕石バージョン 0.6.11
  • 流星リリース 0.6.5.1
4

1 に答える 1

2

0.6.5 に移行した後、同じ問題が発生しました -

明示的に「使用」するパッケージから「エクスポートされた」変数のみを取得します。.useパッケージは内部で呼び出すことによって他のパッケージを「使用」しPackage.on_useプロジェクトはそれらを追加することによってパッケージを「使用」します.meteor/packages

さらに、変数のエクスポートについては非常にうるさいようで、現在、変数の前にあるものはエクスポートされませんthis.

于 2013-09-06T01:59:58.107 に答える