22

クライアントスクリプトが依存できるように、自分のクライアントスクリプトを含める前に、 CDNのJSをMeteorに含めたいと思います。

...
<script type="text/javascript" src="https://ajax.googleapis.com/..."></script>
...
<script type="text/javascript" src="/client/..."></script>
...

*.htmlファイルを介して<head>タグの間にスクリプトを含めてみました。ただし、*。htmlファイルのヘッダーコンテンツは、ファイル階層のどこに配置しても(たとえば、ファイルをlibフォルダーに配置したり、クライアントJSファイルの前にアルファベット順に並べ替えたり)、常にHTMLヘッダーの最後に追加されるようです。助けにはなりません)。

スマートパッケージを作成せずに、クライアントスクリプトの前にCDNからJSを含める方法はありますか?

4

3 に答える 3

10

Meteorパッケージの前にこれらのファイルをロードする必要がないと仮定して、他のファイルの前にロードされるJSファイルを作成します。Meteorはファイルをアルファベット順にロードするため、最初にロードされるファイルである必要があります。そのためには、名前を付けるだけaaLoadCDN.jsで十分です。script srcドキュメントに要素を追加して、CDNスクリプトを動的にロードしheadます。

var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');  // optional
script.setAttribute('src', 'url/to/the/cdn/script.js');
document.getElementsByTagName('head')[0].appendChild(script);

CDNからスクリプトをロードする実際のMeteorパッケージは次のとおりです。

于 2013-01-07T14:51:47.903 に答える
3

テンプレートがレンダリングされた後、スクリプトを追加できます。したがって、スクリプトは1行おきにロードされた後にのみロードされます。たとえば、jqueryプラグインをテンプレートのhtmlファイルに直接追加すると、「jqueryが見つかりません」というエラーが発生します。しかし、このアプローチはそれを防ぎます:

Template.Main.onRendered(function () {

      $('head').append('<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-formhelpers/2.3.0/js/bootstrap-formhelpers.js"></script>');

});
于 2016-10-27T03:16:12.040 に答える
0

Stripe.jsを使用した例を示すmeteor-external-fileloaderと呼ばれる放棄されたパッケージもあります。2013年9月から整備されていないのでご注意ください。

于 2015-02-18T21:20:03.513 に答える