Задать вопрос
@kirill-93

Как собрать приложение JS приложение с помощью Electron вместе с БД?

Добрый день! Не силен в разработке приложений с использованием electron, но понадобилось сделать небольшой проект.
Проект - одностраничный CRUD для нескольких сущностей - то есть формы для добавления/редактирования и просмотра записей. Записи хранятся тут же в SQLite.
За основу я взял готовый sqlite-boilderplate для electron.
Все работает и теперь я пытаюсь собрать portable-версию для windows.
Для этого я запускаю
electron-builder build --win portable
, генерируется .exe файл, который действительно portable и все хорошо, но изменения в базе не сохраняются после закрытия программы.
В моем коде при запуске приложения идет проверка, есть ли рядом файл с именем db.sqlite3 и если нет, то создается новый. Так вот, при запуске приложения оно работает, то есть где-то создается этот файл и в него пишутся изменения, но если я закрываю программу и открываю снова, то данных нет. Как будто база исчезает.
В package.json у меня есть (согласно документации) есть свойство files:
"build": {
    "appId": "com.example.electron-boilerplate-sqlite",
    "files": [
      "app/**/*",
      "node_modules/**/*",
      "package.json",
      "db.sqlite3"
    ]
  },

В files я указываю базу и расчитываю, что она "упакуется" в этот портативный exe файл и будет в него вшита.
Что я делаю не так?
Спасибо.
  • Вопрос задан
  • 416 просмотров
Подписаться 3 Сложный Комментировать
Решения вопроса 1
MvcBox
@MvcBox
Software Engineer [C/C++/JS(for Node.js)/etc]
Код для Electron.js приложений после билда хранится в asar архиве.
Вы не должны упаковывать свою базу в этот архив.
Базу можно создавать, к примеру, рядом с исполняемым файлом приложения.
Удалите db.sqlite3 из списка files, а в своем приложении укажите следующий путь к базе:
`${process.execPath}/db.sqlite3`
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:57
500 руб./в час
18 дек. 2024, в 11:54
2000 руб./за проект