将jQuery集成到电子应用程序中

omu*_*gru 6 html javascript jquery node.js electron

我正在尝试将jquery功能添加到用电子书写的桌面应用程序中使用电子快速启动repo我将下载的jquery文件添加到main.html文件中,如下所示:

<script> require("./jquery.min.js"); </script>
Run Code Online (Sandbox Code Playgroud)

或者:

<script>window.$ = window.jQuery = require('./jquery.min.js');</script>
Run Code Online (Sandbox Code Playgroud)

然后在index.js文件中我在createWindow函数中添加代码,因为这似乎是合适的地方,但说实话,我尝试的任何地方或多或少都会得到同样的错误.

mainWindow.$undefined和同样为BrowserWindowapp

mainWindowcreateWindow 函数内定义如下: mainWindow = new BrowserWindow({width: 800, height: 600})

和BrowserWindow在文件的顶部声明,如下所示: const BrowserWindow = electron.BrowserWindow

知道我哪里出错了,我应该更改/添加哪些声明?

提前致谢

Har*_*Das 17

在使用电子时,一些额外的符号也会插入到DOM中,从而导致问题.所以,你可以使用jquery如下

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js" onload="window.$ = window.jQuery = module.exports;"></script>
Run Code Online (Sandbox Code Playgroud)

注意"onload"中的代码.


Sha*_*are 9

当您调用require内部index.js或主进程时,它正在寻找节点模块.因此,您需要jQuery通过npm 进行安装,并将其保存为应用程序package.json文件中的依赖项.

npm install jquery --save
Run Code Online (Sandbox Code Playgroud)

那你index.js理论上应该看到它很好用

let $ = require('jquery');
mainWindow.$ = $;
Run Code Online (Sandbox Code Playgroud)

请参阅Node.JS部分以安装jQuery.这是Electron使用的.

-

老答复

在你的内部main.html,只需包含像任何传统JS文件一样的JavaScript.

<script src="./jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)