2017-02-20 7 views
0

電子のmain.jsで非同期呼び出しを行います。 は、私はjQueryを使って行うが、エラー$.ajax is not a function を返すようにしようとした私が試してみました:

mainWindow.$ = mainWindow.jQuery = require('jquery'); 
let $ = mainWindow.$; 
$.ajax({ 
    .... 
}) 

しかし$アヤックスは関数ではありません。 jqueryを正しく組み込むにはどうすればよいですか?

+1

[jQueryノードパッケージのドキュメント](https://www.npmjs.com/package/jquery)によると、「jQueryがノードで動作するためには、ドキュメントがあるウィンドウが必要です。」 '$ .ajax'の代わりに' http'のような別のモジュールを使うことをお勧めします。電子メインプロセスで本当にjQueryが必要な場合は、 'jsdom'を使ってmockすることができます。 –

+0

よろしくお願いします。私はあなたがhttpで提案したようにしています。それは働きます! – LorenzoBerti

答えて

1

Electronでは、jQueryオブジェクトを自分で定義する必要があります。 レンダラプロセス(あなたのHTMLファイルにリンク1)で

window.$ = window.jQuery = require('jquery'); 

置き、この、あなたは問題ないはずです。これは、次のように行うことができます。

関連する問題