小编典典

Electron:未定义 jQuery

all

问题:在使用 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或类似的东西。


阅读 116

收藏
2022-04-04

共1个答案

小编典典

一个更好、更通用的解决方案 IMO:

<!-- 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>

好处

  • 适用于具有相同代码的浏览器和电子
  • 修复所有第 3 方库(不仅仅是 jQuery)的问题,而无需指定每个库
  • Script Build / Pack Friendly(即Grunt / Gulp将所有脚本放入vendor.js)
  • 不需要node-integration为假

来源这里

2022-04-04