问题:在使用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,转到Console视图,然后单击<p>元素。你应该看到函数$没有定义或者类似的效果。


当前回答

一个漂亮干净的解决方案

使用npm安装jQuery。(npm安装jquery——保存) 使用它:<script> let $ = require("jquery") </script>

其他回答

使用以下代码为我工作

var $ = require('jquery')

这对我很有用。

<script languange="JavaScript">
     if (typeof module === 'object') {window.module = module; module = undefined;}
</script>

需要考虑的事情:

1)把这个放在</head>之前

2)在</body>标签前包含Jquery.min.js或Jquery.js

对于这个问题,使用JQuery和其他js,就像你在Web Page中使用的一样。但是,Electron有节点集成,所以它不会找到你的js对象。你必须设置module = undefined,直到你的js对象被正确加载。请看下面的例子

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

<!-- normal script imports etc  -->
<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>    

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

导入后,你将能够使用JQuery和其他东西在电子。

只需使用以下命令安装Jquery。

npm install --save jquery

之后,请把下面的行在js文件,你想使用Jquery

let $ = require('jquery')

2022年。这对我很管用。

安装JQuery

npm install jquery --save

使用script标签将jquery添加到index.html文件中。 src应该是你的node_modules文件夹中jquery的路径

    <script type="text/javascript" src="../node_modules/jquery/dist/jquery.min.js"></script>

现在JQuery将可用/定义为$在你的渲染器进程(renderer.js文件)