electronで,nodeIntegration:falseのまま,preload.jsを利用してjqueryを使用したいのですが,うまくいきません.
試したこと
メインプロセスで,以下のように,preload.jsへのパスを書きました.
Javascript
1win = new BrowserWindow({ 2 webPreferences: { 3 nodeIntegration: false, 4 preload: path.join(__dirname, 'preload.js'), 5 }, 6});
preload.jsで,以下のように記述し,jqueryをwindowオブジェクトに保存しました.
node_modulesは同じディレクトリに置いてあります.
実行時に,コンソールに'preload.js loaded'と表示されるため,preload.jsのロードは成功しているようです.
Javascript
1process.once('loaded', () => { 2 console.log('preload.js loaded'); 3 global.jQuery = global.$ = require('jquery'); 4});
レンダラープロセスにて,$をこのように定義し,その下にjQueryのコードを記述しました.
Javascript
1const $ = window.jQuery; 2 3$.getJSON(json_file, (data) => { 4 //処理 5}); 6
しかし,実行したところ,以下のエラーが出ました.
Uncaught TypeError: Cannot read property 'getJSON' of undefined
どのような原因が考えられるでしょうか.
是非ご教授ください.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。