1

Meteor には、一般的な開発向けの優れたファイル読み込みポリシーがあります。publicprivateclientおよびディレクトリに特別な処理を加えて、アプリ ディレクトリからファイルを自動的に読み込みますserver。( http://docs.meteor.com/#structuringyourappを参照)

サードパーティの Javascript ライブラリを Meteor アプリにロードするときは、通常、それらをスクリプトに入れるか、ディレクトリに<head>直接入れます。これは、リリースされたファイルに適しています。client/compatibility

ただし、パッチやプル リクエストをテストするときに、プロジェクトの開発中のバージョンを特定のブランチの GitHub リポジトリから直接リンクする必要がある場合があります。私はすでに、透過的に取得される Meteor スマート パッケージに対して常にこれを行っています。ただし、一般的な (クライアント側) Javascript ライブラリに対してこれを行う方法がわかりません。さらに、扱いにくいのは、リストされたバージョンではなく、レポのリンクです。これをしなければならなかった誰かが提案をすることができますか?

4

1 に答える 1

1

これに対する 1 つのアプローチは、 https://github.com/meteor/meteor/issues/1229で簡単に説明されています。

これは、アプリ内の常駐スマート パッケージとしてきれいに実装できることがわかりました。このアプローチは、この API が変更されるまで、Meteor 0.6.5 および将来のバージョンでうまく機能します。最初に で以下を作成しますpackage.js

Package.on_use(function (api) {
    api.use(['routepolicy', 'webapp'], 'server');

    api.add_files('client.html', 'client');    
    api.add_files('server.js', 'server');
});

そして でserver.js、Meteor がディレクトリ全体 (リポジトリの適切な部分) をアプリ (私の場合は OpenLayers) の一部として提供することを宣言します。

connect = Npm.require('connect');

RoutePolicy.declare('/lib', 'network');

WebApp.connectHandlers
  .use(connect.bodyParser())
  .use('/lib', connect.static("/home/mao/projects/openlayers/lib"));

最後にclient.html、正しいパスでコードをロードするようにアプリに指示します。

<head>
    <script src="/lib/OpenLayers.js"></script>    
</head> 

上記のパッケージが という名前のディレクトリにあると仮定すると、アプリのファイルでコメントを付けopenlayersたりコメントを外したりすることで、このパッケージのコンパイル済みリリースとリポジトリからの実行を簡単に切り替えることができます。openlayerspackage

于 2013-08-09T20:21:00.463 に答える