我的申请有一个奇怪的问题。我收到错误,我无法解决。首先,我安装了一个新项目,所以一切都很干净。有人发给我这个repo用于Angular,Electron和Nodejs应用程序。一切都很好,但后来我决定安装一个像sqlite3这样的嵌入式数据库。为此,我找到了NeDB,该模块非常适合我的需求。首先我遇到了问题,与我的一般问题无关,我无法创建数据库文件。所以我读到我只能在我的应用程序路径中创建文件,因为有关Electron的内容以及在浏览器中工作的内容。
我找到了来自Electron模块的getAppPath()
对象中实现的app
方法。这开始了问题。几个小时我试图从这个对象获取应用程序路径。最后,我写了这段代码。
import { Injectable } from '@angular/core';
var nedb = require('nedb');
import { app } from 'electron';
import * as path from 'path';
@Injectable()
export class DatabaseService {
app: typeof app;
Database: any;
constructor() {
this.app = window.require("electron").app;
this.Database = new nedb({ filename: path.join(this.app.getAppPath(), '/diary.db'), autoload: true, timestampData: true });
var scott = {
name: 'Scott',
twitter: '@ScottWRobinson'
};
this.Database.insert(scott, function(err, doc) {
console.log('Inserted', doc.name, 'with ID', doc._id);
});
}
}
我得到了这个错误。
我找到this posting,但我真的不明白帖子试图告诉我的内容。我按照链接,但似乎没有任何帮助。有人有想法吗?