I'm getting the error ('this.fs.stat is not a function') on line 2256 of lokijs.js. Environment is Electron with Angular 5.x and LokiJS v1.5.3.
fs
is set up on line 2244 of lokijs.js (this.fs = require('fs');
) but when I examine this.fs
in the browser tools immediately after that line executes, it is just an empty object.
I've been beating my head against LokiJS all afternoon and have managed to get this far, but have no idea where to go from here. fs
has been in node since forever, so I don't think it's an issue with a node version.
I'm aware of the issues with require
and webpack, but since this is happening in LokiJS, I'm not sure whether this is related and if so what the proper fix would be.
Any ideas/suggestions?
Thanks.
Update #1
Code:
import * as Loki from 'lokijs';
import { LokiFsAdapter } from 'lokijs';
this.adapter = new LokiFsAdapter();
this.db = new Loki('my.db', {
env: 'NODEJS',
autoload: true,
autosave: true,
verbose: true,
autoloadCallback: this.initCollections
});
This gets me the error I mentioned above. If I switch the first line to import { Loki } from 'lokijs';
I get this error instead: Uncaught (in promise): TypeError: lokijs_1.Loki is not a constructor