2016-08-10 12 views
1

私は流星を学んで、私の最初のプロジェクトに取り組んでいます。私はその偉大な力に感銘を受けましたが、最近私はGoogleとStack Overflowに費やして時間をかけても解決できない問題に遭遇しました。流星に外部スクリプトを追加し、es6のインポートを使用して負荷の順序を制御する

流星文書 hereに記載されているようにプロジェクトを構成しました。続き

がロード順序を制御するために私のプロジェクトの構造

enter image description here

ですが、私は輸入/起動/クライアント/ loader_conf.js

// importing files in the desired order 

// loading jquery before materialize 
import '../lib/jquery-3.1.0.min.js'; 

import '../lib/materialize.min.css'; 
import '../lib/materialize.min.js'; 

と次に次のコードを書きましたインポート/スタートアップ/クライアント/ loader_conf.jsのコード

import './loader_conf.js'; 

は、最終的に私のクライアント側にモジュールとして完全な負荷設定をロードするために熱心にロードされ クライアント/ main.js

import '/imports/startup/client'; 

明らかなようにの先頭に次の行を追加して、私は類推にサンプルプロジェクトの構造を描きましたドキュメントに記載されています。私は$をチェックして、非常に有望に見えた

しかし、すべてこれを実行した後は、私は、端末

Unable to resolve some modules: 

    "jquery" in         
/home/siteflu/VAIBHAV/meteor/demo/imports/startup/lib/materialize.min.js(web.browser) 

    "hammerjs" in        
/home/siteflu/VAIBHAV/meteor/demo/imports/startup/lib/materialize.min.js(web.browser) 
    "./picker.js" in        
/home/siteflu/VAIBHAV/meteor/demo/imports/startup/lib/materialize.min.js(web.browser) 

If you notice problems related to these missing modules, consider running: 

    meteor npm install --save jquery hammerjs 

に次のエラーを取得していますし、ブラウザで私はエラー

Uncaught Error: Cannot find module 'jquery' 

を取得します()とjQuery()がコンソールで動作しています。

私はこのファイルの読み込みと読み込みに本当に混乱しています。

多くのことをグーグル後、私は、例えば、同じことを達成するための他の方法があることを知った:

  1. パッケージ
  2. パブリックフォルダ内のファイルを維持し、頭の中でscriptタグを含むを使用して
  3. jqueryを使用してTemplate.onRendered()を使用してスクリプトをロードします。

しかし、私はこれらの輸入方法がより良く、より標準化された方法だと感じます。

この方法で問題を見つけるのを手伝ってください。

+0

npm依存関係に* jquery *と* hammerjs *をインストールしましたか? – JeanMel

答えて

0

最後に答えが得られました。実際には、第三者の図書館を統合する際に問題を提起していた流星の内部を理解していませんでした。

実際、流行は、内部で新しい変数スコープに書き込まれたすべてのJavaScriptをラップします。

は私が作成した流星thread上hwilsonすることにより、この有益な応答から上記の詳細を知りました。

詳細についてはスレッドにアクセスできます。

乾杯..

関連する問題