Electron: jQuery が定義されていません 質問する

Electron: jQuery が定義されていません 質問する

問題: Electron を使用して開発しているときに、jQuery を必要とする JS プラグインを使用しようとすると、スクリプト タグを使用して正しいパスをロードしても、プラグインは jQuery を見つけられません。

例えば、

<body>
<p id="click-me">Click me!</p>
...
<script src="node_modules/jquery/dist/jquery.min.js"></script> //jQuery should be loaded now
<script>$("#click-me").click(() => {alert("Clicked")});</script>
</body>

上記のコードを実行しても機能しません。実際には、DevTools を開いて、コンソール ビューに移動し、要素をクリックします<p>function $ is not definedそれと似たような内容が表示されるはずです。

ベストアンサー1

私の意見では、より優れた、より一般的な解決策は次のとおりです。

<!-- Insert this line above script imports  -->
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>

<!-- normal script imports etc  -->
<script src="scripts/jquery.min.js"></script>    
<script src="scripts/vendor.js"></script>    

<!-- Insert this line after script imports -->
<script>if (window.module) module = window.module;</script>

利点

  • 同じコードでブラウザとelectronの両方で動作します
  • サードパーティライブラリ(jQueryだけでなく)の問題を修正し、個別に指定する必要がなくなりました。
  • スクリプトビルド/パックフレンドリー(つまり、すべてのスクリプトをGrunt/Gulpでvendor.jsにまとめる)
  • node-integration偽である必要はない

ソースここ

おすすめ記事