Skip to content

Instantly share code, notes, and snippets.

@techfort
Created May 1, 2015 12:38
Show Gist options
  • Save techfort/509b95190b226519c07c to your computer and use it in GitHub Desktop.
Save techfort/509b95190b226519c07c to your computer and use it in GitHub Desktop.
basic loading of LokiJS in an electron app
var app = require('app'); // Module to control application life.
var BrowserWindow = require('browser-window'); // Module to create native browser window.
var loki = require('lokijs'),
db = new loki(),
users = db.addCollection('users', {
indices: ['username']
});
users.insert({ username: 'joe', age: 40});
users.insert({ username: 'jack', age: 30});
users.insert({ username: 'jim', age: 25});
console.log('Users: ' + users.data.length);
// Report crashes to our server.
require('crash-reporter').start();
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the javascript object is GCed.
var mainWindow = null;
// Quit when all windows are closed.
app.on('window-all-closed', function() {
if (process.platform != 'darwin')
app.quit();
});
// This method will be called when Electron has done everything
// initialization and ready for creating browser windows.
app.on('ready', function() {
// Create the browser window.
mainWindow = new BrowserWindow({width: 800, height: 600});
// and load the index.html of the app.
mainWindow.loadUrl('file://' + __dirname + '/index.html');
// Emitted when the window is closed.
mainWindow.on('closed', function() {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
mainWindow = null;
});
});
@ketanbhatt
Copy link

Hey @techfort, thanks for this.
But how do I get one instance of loki and use it through out my app?

The first time is easy, I do a new loki(), but I do not know how to load from a file and then use that loaded db in my app.

Any help will be appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment