Интегрируйте jQuery в электронное приложение

Я пытаюсь добавить функциональность jquery в настольное приложение, написанное на электронном языке. Используя быстрое электронное репо, я добавляю загруженный файл jquery вmain.html файл вроде так:

<script> require("./jquery.min.js"); </script>

или так:

<script>window.$ = window.jQuery = require('./jquery.min.js');</script>

Тогда вindex.js файл я добавляю код вcreateWindow функции, так как это кажется правильным, но, честно говоря, в любом месте, где бы я ни находился, я получаю ту же ошибку более или менее.

mainWindow.$ являетсяundefined и то же самое касаетсяBrowserWindow а такжеapp

mainWindow определяется внутриcreateWindow функционировать так:mainWindow = new BrowserWindow({width: 800, height: 600})

и BrowserWindow объявлено поверх файла следующим образом:const BrowserWindow = electron.BrowserWindow

Любая идея, где я иду не так, какие объявления я должен изменить / добавить?

заранее спасибо

 Trees4theForest16 сент. 2017 г., 01:32
Вариант ответа:stackoverflow.com/a/37480521/1061836

Ответы на вопрос(2)

При использовании электронов некоторые дополнительные символы также вставляются в DOM, вызывая проблемы. Итак, вы можете использовать jquery следующим образом

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js" onload="window.$ = window.jQuery = module.exports;"></script>

Обратите внимание на код внутри «onload».

 adamj30 дек. 2017 г., 05:17
jQuery requires a window with a document к сожалению, ни один из ответов, которые я нашел на любом сайте, не сработал.

Когда вы звонитеrequire внутриindex.jsили основной процесс, он ищет модуль узла. Так что вам нужно будет установитьjQuery через npm и сохраните его как зависимость в вашем файле apps.json.

npm install jquery --save

Тогда вашindex.js теоретически должен видеть это просто отлично, используя

let $ = require('jquery');
mainWindow.$ = $;

Обратитесь кNode.JS раздел для установки jQuery, Это то, что использует Электрон.

-

СТАРЫЙ ОТВЕТ

Внутри вашегоmain.htmlПросто включите JavaScript, как любой другой традиционный файл JS.

<script src="./jquery.min.js"></script>
 Shakespeare10 июн. 2016 г., 14:23
@omu_negru также, вы хотите, чтобы я спросил, почему вы хотите, чтобы jQuery был доступен в вашем основном процессе?
 omu_negru10 июн. 2016 г., 12:40
Спасибо, но это заставляет приложение выдавать другое исключениеrequire(...).jsdom(...).createWindow is not a function
 TimoSolo24 нояб. 2016 г., 10:24
обратите внимание, это должно бытьnpm install jquery --save (строчные буквы), чтобы получить последнюю версию JQuery
 Shakespeare10 июн. 2016 г., 12:15
@omu_negru Извините, я неправильно понял, что вы спрашивали. Я обновил свой ответ с шагами, которые должны решить вашу проблему. Дайте мне знать, если это не сработает
 Shakespeare10 июн. 2016 г., 14:15
@omu_negru Не могли бы вы поделиться кодом вашегоindex.js? Не уверен, почему это будет ошибкой
 omu_negru10 июн. 2016 г., 12:04
это, кажется, не решает проблему. Кроме того, я думал, что требование require уже позаботилось об этом. И проблема заключается в видимости внутри файла index.js. Если я добавлю оператор console.log ($) после оператора require, я получу то, что ожидал. Просто видимость не переводится в файл index.js

Ваш ответ на вопрос