2017-06-09 2 views
1

jqueryを私の反応アプリケーションにグローバルに含める必要があります。私はjqueryを使用するサードパーティ製の多くのプラグインを使用しています。そこで、WebpackのProvidePluginを使ってやってみました。jqueryのためにProvidePluginが機能しない

new webpack.ProvidePlugin({ 
      React: 'react', 
      $: 'jquery', 
      jQuery: 'jquery', 
      _: 'lodash' 
     }), 

ここで、コンポーネントからすべてのインポートステートメントを削除しました。しかし、$はjqueryモジュールにマップされていません。私が$をCtrl +クリックすると、dom.jsが表示されます。 React:「反応する」のために働いています。

どうすれば解決できますか?

私はちょうど同梱中に各モジュールのコンテキストにjQueryの、などを提供する安全な方法ですがあなたはjqueryのをインポートする必要があります私のプロジェクト

ion.rangeSlider.js:21 Uncaught ReferenceError: jQuery is not defined 
    at ion.rangeSlider.js:21 
    at ion.rangeSlider.js:23 
(anonymous) @ ion.rangeSlider.js:21 
(anonymous) @ ion.rangeSlider.js:23 
markers.js:450 Uncaught ReferenceError: jQuery is not defined 
    at markers.js:450 
+0

'npm i jquery --save'で' jquery'をインストールしましたか? –

+0

はい。これはpackage.jsonにあります。 – ApurvG

答えて

0

を実行しようとすると、これらのエラーですどこかにあなたのコード

import 'jquery' 

または

require('jquery') 
内部

そうしないと、モジュールはjQueryを使用できなくなります。

+0

インポートで複数のバージョンの競合が発生していました。だから私は何かグローバルなものが欲しい私は 'jquery'からimport $を使っていましたが、$(...)を与えていました。ionRangeSliderは関数ではありません。これはjRerySliderスクリプトの前にjqueryスクリプトを間違って配置したために発生したエラーではなく、jqueryによるものです。 – ApurvG

+0

CommonJSをサポートしていないプラグインもあります – Ematipico

関連する問題