Моя цель - создать постоянный локальный файл для nedb, так как по умолчанию nedb использует indexedDB для браузера, если создает хранилище данных из процесса рендерера (веб-страницаactjs), поэтому я решил создать хранилище данных из основного процесса, чтобы постоянный локальный файлсоздается на основе многих ответов от stackoverflow
Так что мне удалось создать объект базы данных nedb из основного процесса, и даже файлы database.json создаются так, как я хотел
D:/node4/projectz/react_stuff/bizguy/src/services/offline_db/product.js:33
const {remote} = window.require('electron')
const productDB = remote.getGlobal('productDB'),
categoriesDB = remote.getGlobal('categoriesDB')
> 33 | productDB.find({}, function(err,docs){
34 | if (err) {
35 | console.log('something is wrong with offline products db'
)
основной процесс (электронное приложение)
const {app, BrowserWindow, Menu,Tray,shell} = require('electron')
const path = require('path')
const DataStore = require('nedb')
const productDB = new DataStore({
filename: path.join(userDirectory,'products.json'),
autoload: true,// automatically load the database
timestampData: true// automatically add and manage the fields createdAt and updatedAt
}),
categoriesDB = new DataStore({
filename: path.join(userDirectory, 'prod_category.json'),
autoload: true,
timestampData:true
})
//make them global variables
global.productsDB = productDB;
global.categoriesDB = categoriesDB
Я ожидаю, что методы поиска и вставки для базы данных nedb будут хорошо работать в процессе визуализации, но вместо этого я получаю эту ошибку TypeError: Невозможно прочитать свойство'find' of undefined через процесс рендеринга (реагирует на приложение), как будто хранилища данных nedb не определены