Angular 2:如何将nedb与仅限Web的应用程序一起使用?

时间:2016-11-29 16:15:39

标签: angular nedb

现在在我的index.html中,我需要做

<script src="node_modules/nedb/browser-version/out/nedb.min.js"> </script>

<script>var nedb = new Nedb({filename: 'someFile2', autoload: true});
</script>

这会加载持久的nedb数据库&#34; someFile2&#34;在Google Chrome浏览器的indexeddb下。

如何通过主app组件或模块引导nedb?我希望能够通过应用程序代码创建一个nedb数据库。

我使用带有角度2的Systemjs。

2 个答案:

答案 0 :(得分:3)

我最近花了一些时间将NeDB导入Angular2 + Electron项目。最终我能够做到,所以这就是我做到的。我希望它能够在非电子项目中完成它。

首先,确保安装了nedb@types/nedb

npm install -S nedb
npm install -S @types/nedb

你需要告诉SystemJS在哪里找到nedb。为此,请将以下行添加到systemjs.config.js中的地图对象中(假设您在&#39;路径&#39;对象中指定了&#39; npm&#39;路径):

'nedb': 'npm:nedb/browser-version/out/nedb.min.js'

导入Angular 2文件中的Datastore模块:

import * as Datastore from 'nedb';

您现在应该能够在代码中创建一个新的数据存储实例,例如:

constructor() {
  let db = new Datastore();
  db.loadDatabase(function() {
    // ...
  });
}

我希望这会有所帮助。

答案 1 :(得分:2)

除了 Alberto Venturini 的回答。

使用 Angular2 CLI

Angular2 + Electron 项目

在根文件夹的NeDB中添加.angular-cli.json的路径,告知在哪里找到NeDB

"scripts": [
        "../node_modules/nedb/browser-version/out/nedb.min.js"
]