2017-06-09 4 views
0

https://www.npmjs.com/package/chessboardjsパッケージを使用しようとしています。私は単純な反応コンポーネントを書いてボードをレンダリングしましたが、chessboardjsモジュールにエラーがスローされます:ReferenceError:$は定義されていません。部品コード:

import React, { Component } from 'react'; 
import Chess from 'chessboardjs'; 

export default class ChessBoard extends Component { 
    render() { 
     return (
      <div> 
       <div id="chessboard" style={{"width": "400px"}}></div> 
      </div> 
     ) 
    } 

    componentDidMount() { 
     var board = Chess('chessboard'); 
    } 
} 

私はすでにチェス盤の構成要素ではなく、それは残念ながらうまくいかなかったことはJQuery NPMパッケージおよびインポートをインストールしてみました。

これを修正する方法はありますか?

答えて

2

$、jQuery、window.jQuery変数をすべてのモジュールにインポートする必要があると思います。あなたがwebpack1を使用する場合は 、あなたはこれで試すことができます。

providePlugin = new webpack.ProvidePlugin({ 
    $: "jquery", 
    jQuery: "jquery", 
    "window.jQuery": "jquery" 
    }), 
+0

は、あなたの答えをいただき、ありがとうございます。私は反応するのが新しく、アプリは現時点でWebpackを使用していない。 jQueryをすべてのモジュールに組み込むための別の方法があるのでしょうか? – Stefanvdk

0

これが最善の方法であるかどうかわからない、

import React, { Component } from 'react'; 
import $ from 'jquery' 
import Chess from 'chessboardjs'; 

window.$ = $ 
window.jQuery = $ 

export default class ChessBoard extends Component { 
    render() { 
     return (
      <div> 
       <div id="chessboard" style={{"width": "400px"}}></div> 
      </div> 
     ) 
    } 

    componentDidMount() { 
     var board = Chess('chessboard'); 
    } 
} 
関連する問題