web-dev-qa-db-ja.com

サードパーティのJavaScriptライブラリをMeteorアプリケーションに追加するにはどうすればよいですか?

Meteorアプリにjquery.center.jsなどのJavaScriptフロントエンドプラグインを追加したい。

app/ディレクトリに配置してページを更新すると、次のエラーが表示されます。

アプリがクラッシュしています。これが最新のログです。

node.js:201
throw e; // process.nextTickエラー、または最初のティックでの「エラー」イベント
^
ReferenceError:jQueryは定義されていません
app/jquery.center.js:43:1で
at /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:111:21
at Array.forEach(ネイティブ)
at関数。 (/Users/crapthings/Desktop/app/.meteor/local/build/server/underscore.js:76:11)
at /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:97:7
コードで終了:1
アプリケーションがクラッシュしています。ファイルの変更を待っています。

48
crapthings

Jqueryプラグインのjavascriptファイルをappフォルダーに直接配置しているため、javascriptファイルはサーバーとクライアントの両方にロードされます。

Meteorのドキュメントに従って:
クライアントは、javascriptをproject/publicおよびproject/clientからロードします
サーバーは、javascriptをproject/publicおよびproject/serverフォルダーからロードします。

V1.0では、MeteorはクライアントでjQueryを内部的に使用しているため、jQueryを追加せずにライブラリを直接使用できます。ただし、jQueryをMeteorプロジェクトに明示的に追加することをお勧めします。

流星はjqueryを追加

Meteorのドキュメントでは、詳細に説明しています JavaScriptファイルのロード方法と静的アセットの行き先 (CSS、画像)。

Meteorの既存のライブラリを再パッケージする方法も参照してください。

38
Nachiket

clientフォルダー内に配置して、サーバーにjQueryを必要とせずに、クライアントにのみロードされるようにします。

19
Tamara Wijsman

MeterorJS 1.3.xでこれを行う1つの方法

public\js\ディレクトリにJSファイルを追加します

enter image description here

Client/main.jsの$ .getScriptを使用してMeteor.startupメソッドからロードします。スクリプトのロードシーケンスを制御する場合は、jsファイルごとに複数の$ .getScriptを使用して制御します。

enter image description here

Meteor.startup(function(){
    $.getScript('js/fhir-client.js', function(){
        // script should be loaded and do something with it. 

    });
});
12
Gajen Sunthara

Meteor 1.3以降では、 npmパッケージを介してサードパーティのJavaScriptライブラリをMeteorプロジェクトに直接追加できます

meteor npm install --save moment

MeteorのES2015モジュールシステムはbrowserifyまたはwebpackと同じようにクライアントでNode-like環境を作成するため、サーバー側とクライアント側の両方のパッケージは修正なしで動作します。

Npmパッケージが正しく機能しない場合は、 Atmoshpere のラッパーを探してください。 AtmosphereはMeteorの公式の3番目のパッケージリポジトリですが、Meteor v1.3以降では関連性が低下しています。最終的には 段階的廃止 になります。

歴史

Meteor 1.3より前は、 Meteor用のサードパーティライブラリを再パッケージ化する でした。 Autopublishと呼ばれるツールは、プロセスを自動化するために開発されました。 Meteor Development Groupがmeteor.comでの無料ホスティングの提供を停止した後、Autopublishは廃止されました。

3
Dan Dascalescu