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
アプリケーションがクラッシュしています。ファイルの変更を待っています。
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の既存のライブラリを再パッケージする方法も参照してください。
client
フォルダー内に配置して、サーバーにjQueryを必要とせずに、クライアントにのみロードされるようにします。
MeterorJS 1.3.xでこれを行う1つの方法
public\js\
ディレクトリにJSファイルを追加します
Client/main.jsの$ .getScriptを使用してMeteor.startupメソッドからロードします。スクリプトのロードシーケンスを制御する場合は、jsファイルごとに複数の$ .getScriptを使用して制御します。
Meteor.startup(function(){
$.getScript('js/fhir-client.js', function(){
// script should be loaded and do something with it.
});
});
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は廃止されました。