как мне получить доступ к моей базе данных dexie из моего сервисного работника?

Я делаю автономный ProgressiveWebApp, и у меня есть заполненная база данных dexie в моем файле myDatabase.js.
От моего сервисного работника я хочу получить доступ к этой базе данных, но когда я пытаюсь использовать db.MijnTable. БД не определена.
Как мне связать или получить доступ к моей базе данных в моем сервис-воркере?
Это должно работать в автономном режиме!

Я попытался связать файл базы данных с
importScripts('tours/mycompany/js/myDatabase?js');
, но это не сработало. У вас есть идеи, почему?


person Mr Grayhat    schedule 24.04.2020    source источник


Ответы (1)


Ваш сервисный работник должен импортировать dexie, и вы должны объявить свою базу данных в самом сервисном работнике или в скрипте, который он будет импортировать.

Вы также можете использовать импорт es6 и скомпилировать работника службы с помощью веб-пакета, но в любом случае экземпляр db должен находиться внутри работника службы. Вы также можете иметь другой экземпляр БД в DOM, который общается с той же БД.

person David Fahlander    schedule 24.04.2020
comment
спасибо за ответ, вы имеете в виду импорт dexie, как этот importScripts('unpkg. com/[email protected]/dist/dexie.js'); или вы имеете в виду ссылку, потому что моя база данных занимает МНОГО места и имеет 1500 файлы в нем. можно ли экспортировать и импортировать это из моей сохраненной базы данных dexie db? - person Mr Grayhat; 25.04.2020
comment
Я имел в виду импорт dexie с помощью importScripts(). Вы также можете экспортировать/импортировать актуальные данные с помощью аддона dexie-export-import из воркера или из браузера. Обе среды используют одни и те же данные.: dexie.org/docs/ExportImport/dexie-export- импорт - person David Fahlander; 26.04.2020