【发布时间】:2018-04-03 17:53:25
【问题描述】:
如何在电子主进程中使用 jQuery?
似乎我找到的每个示例都是针对渲染器进程的。
例如,我想创建一个供主进程使用的实用程序,它将使用 get 从 api 获取数据。
然后使用$.get 会产生get is not a function 的错误。
谢谢。
【问题讨论】:
标签: javascript jquery get electron
如何在电子主进程中使用 jQuery?
似乎我找到的每个示例都是针对渲染器进程的。
例如,我想创建一个供主进程使用的实用程序,它将使用 get 从 api 获取数据。
然后使用$.get 会产生get is not a function 的错误。
谢谢。
【问题讨论】:
标签: javascript jquery get electron
jQuery 是一个用于浏览器的 JS 库,例如 DOM 操作等。你不应该在主进程中使用它,因为主进程在 NodeJS 中运行。
在不了解您的应用程序的情况下很难提出解决方案。如果您在主进程中需要来自 AJAX 请求的数据,您可以使用NodeJS https 包。来自Twilio blog的示例:
const https = require('https');
https.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
console.log(JSON.parse(data).explanation);
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
编辑: 正如@Hans-Koch 提到的,您可能不应该在渲染器进程中使用 jQuery,因为它的主要目的之一是规范化用于 DOM 操作、AJAX 等的 API,而在 Electron 中,您只需要支持 Chromium。如果你想发出 AJAX 请求,你可以使用 XMLHttpRequest 或一些包装它的 npm 包,例如 xhr。
【讨论】:
request 应该可以正常工作:)
https模块获取非https URL?