绝对没有 node-webkit 或 nedb 专家,但这就是我所做的并且它有效。
正如 mvanderw 在评论中已经提到的,一定要确保检查自动加载选项。
例如,这是我的简单 node-webkit/ Angular todo 应用程序的配置:
var Datastore = require('nedb'),
path = require('path'),
db = new Datastore({ filename: path.join(require('nw.gui').App.dataPath, 'todo.db'), autoload: true });
当我重新启动应用程序时,所有待办事项仍然存在,我可以开始了。
希望这可以帮助
Edit:斯科特要求的示例
var Datastore = require('nedb'),
path = require('path'),
db = new Datastore({
filename:path.join(require('nw.gui').App.dataPath, 'todo.db'),
autoload: true
});
var todoServices = angular.module('todoServices', []);
todoServices.factory('Todo', function($q) {
return {
getAll: function(){
var defer = $q.defer();
db.find({
//...some criteria
},
function(err, docs) {
defer.resolve(docs);
});
return defer.promise;
}, //...moar code
}
});
像这样的东西...