Как правильно получить доступ к локальной базе данных Sqlite3 из моего приложения Electron? - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь создать приложение Electron с использованием React, которое сможет вставлять и извлекать данные из локальной базы данных sqlite3.Я пытался настроить Web Worker для обработки взаимодействий с базой данных, но всякий раз, когда я создаю новое соединение с базой данных, окно инструментов разработчика отключается, и в приложении ничего не происходит.Я думаю, что где-то должна быть какая-то ошибка, которую я не могу увидеть или уловить.

Нужно ли использовать Web Worker или аналогичный инструмент для обработки потоков?Если мне нужно использовать Web Worker, что могло бы вызвать эту проблему?

Я попытался включить пакет sqlite3 в один из моих компонентов React (без Web Worker), но он выдает все виды ошибок.

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Вполне возможно получить доступ / использовать sqlite из процесса рендеринга.

У нас огромное сложное приложение, связывающееся с десятками аппаратных USB-устройств через собственные драйверы, и все работает в одном процессе рендерера.Для этого мы просто гарантируем, что ни один код не выполняет синхронные вызовы.

Я сам не использовал sqlite, но node-sqlite3 говорит, что он полностью асинхронный, так что вы можете использовать его из рендерера Electron, не блокируя пользовательский интерфейс.

0 голосов
/ 30 декабря 2018

Закончилась утилизация веб-работников, так как, очевидно, они вообще не работают.Перешли к выполнению вставок и запросов в основном процессе и отправке результатов обратно в процесс рендеринга с использованием сборки Electron в IPC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...