2017-01-23 33 views
1

create-react-appを使用してリアクションアプリケーションを構築しているので、アプリケーションはサーバーに対応しています。create-react-appで 'Uncaught ReferenceError:jQueryが定義されていません'

「affix.js」などのブートストラップのjavascriptプラグインをインポートすると、「Uncaught ReferenceError:jQueryが定義されていません」というエラーが表示され、ページが読み込まれなくなりました。

create-react-appでindex.htmlファイルから 'src'と 'link'の読み込みを読み込むようになっているため、すべてのモジュールをindex.jsファイルで読み込みます。

は次のようにブートストラッププラグインをインポートアムので: インポート「ブートストラップ/ JS/affix.js」

index.jsファイルの先頭に、次の方法でのjQueryをインポートしようとしたことがありますが何も作業していません。

  1. 'jqueryの' から 'jqueryの'
  2. 輸入jqueryの、からの輸入jqueryのウィンドウ$ = window.jQuery = jqueryの。 'jqueryの' 'jqueryの'
  3. インポート 'jqueryの/ DIST/jquery.js' から
  4. 輸入$から
  5. 輸入のjQuery。
  6. が必要です(」./ node_modules/jqueryの/ DIST/jquery.js')

任意のアイデアは?

+0

私はこの方法で 'jquery'をインポートしないと思います。 'cdn jquery'リンクをhtmlファイルに置くだけでうまくいくはずです。これを使用してください: '' –

+0

@MayankShuklaはこれがうまくいきました!最後に。私はこれまでにも多くの方法を試しました。私はそれがcreate-react-appの一部であるときに、index.htmlがフォルダディレクトリをスキャンする方法に関係していると思います。だから、CDNはその場合に動作します。ありがとう!これを正式な回答としても投稿できますか?ExpressJSを使ってアプリケーションを再構築して私を保存しました。これは前にnodeJsやexpressJsアプリをビルドしていないのでチュートリアルでやっていました。おそらく半日のように私を救ったでしょう。ありがとう! –

+0

@MayankShuklaまた、私のインポート方法がうまくいかなかった理由についてのアイデアはありますか? –

答えて

4

ここにReact App maintainerを作成します。

import $ from 'jquery'; 

、あなたはjQueryの2.xまたは以降を使用しているならば、細かいを動作するはず

$.something() 

を使用。

問題が発生した場合は、問題を提出してください。あなたの例では


、問題はあなたがimport jquery from 'jquery'を書きましたが、変数名としてjQueryを使用していることかもしれません。 import jQuery from 'jquery'(またはそれを一貫して使用している限り、他の名前を書いてください)。変数名はJavaScriptでは大文字と小文字が区別されます。

+0

お返事ありがとうございます。私はすでに "jquery"から$をインポートしようとしましたが、同じエラーが発生します。また、あなたの前のコメントに関して、私は現在CDN(https://github.com/smaameri/keywords-finder)を介してjqueryをインポートしているソースコードを見ることができます。バグをテストするには、index.htmlからCDNリンクを削除して削除してから上記のようにApp.jsにjqueryをインポートしてみてください。参照エラーが表示されます。あなたも言ったようにファイルを発行します。 –

2

誰かがここに着陸した場合。私はこれを使って、「を作成反応するアプリ」の同様の問題を解決していた:

import jQuery from 'jquery'; 
window.jQuery = jQuery; 

をとjQueryを必要とする他のパッケージをインポートするためにあなたはaffix.js場合には、この後にそれらのパッケージをインポートする必要があり、

require 'bootstrap/js/affix.js'; 
関連する問題