Angular 2: Как использовать 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 "someFile2" в indexeddb в браузере Google Chrome.
Как мне загрузить NEDB через основной компонент или модуль приложения? Я хочу иметь возможность создать базу данных NEDB через код приложения.
Я использую Systemjs с угловым 2.
2 ответа
Недавно я потратил некоторое время на импорт NeDB в проект Angular2 + Electron. В конце концов я смог это сделать, и вот как я это сделал. Я надеюсь, что это будет достаточно близко, чтобы сделать это в неэлектронном проекте.
Во-первых, убедитесь, что оба nedb
а также @types/nedb
установлены:
npm install -S nedb
npm install -S @types/nedb
Вы должны указать SystemJS, где найти NEDB. Для этого добавьте следующую строку к объекту карты в systemjs.config.js (предполагается, что вы указали путь 'npm' в объекте 'paths'):
'nedb': 'npm:nedb/browser-version/out/nedb.min.js'
Импортировать Datastore
модуль в вашем Angular 2 файле:
import * as Datastore from 'nedb';
Теперь вы сможете создать новый экземпляр Datastore в своем коде, например:
constructor() {
let db = new Datastore();
db.loadDatabase(function() {
// ...
});
}
Надеюсь, это поможет.
В дополнение к ответу Альберто Вентурини.
Для проекта Angular2 + Electron с использованием Angular2 CLI
Добавить путь к NeDB
в .angular-cli.json
в вашей корневой папке, чтобы сказать, где найти NeDB
,
"scripts": [
"../node_modules/nedb/browser-version/out/nedb.min.js"
]