2016-10-22 8 views
0

пытался найти примеры pouchdb/cloudant для моментального стабильного выпуска angular2. Хотя есть много сообщений об ионных2, их нет для ванильного углового2.угловой 2 pouchdb и cloudant (couchdb) - как до

Как установить окончательный выпуск углового 2 с помощью pouchdb, cloudant/couchdb?

ответ

2

Я начал с чтения сообщения Josh Morony, который действительно помог! (спасибо, Джош, отличный пост!). Моя настройка была для облачного, хотя для couchdb она должна быть одинаковой.

Позвольте мне подвести итог тому, что я сделал для моей настройки ванильной угловой 2, не стесняйтесь обращаться к сообщению Джоша также для подробного описания нижеприведенных пунктов. Я предполагаю, что у вас уже есть облачная учетная запись и созданная база данных (если нет, вы можете начать там).

  1. npm install pouchdb --save
  2. npm install -g typings
  3. typings install --global --save dt~pouchdb dt~pouchdb-adapter-websql dt~pouchdb-browser dt~pouchdb-core dt~pouchdb-http dt~pouchdb-mapreduce dt~pouchdb-node dt~pouchdb-replication

Примечание: при Cloudant убедитесь, что вы включите CORS для вашего API базы данных.

После установки всего вышеперечисленного, мы должны изменить несколько файлов (смотрите ниже):

  1. угловой cli.json - изменить свои «пакеты» массив, чтобы отразить следующее :

    "packages": [ 
    { 
        "PouchDB": { 
        "main": "pouchdb.js", 
        "defaultExtension": "js" 
        } 
    }] 
    
  2. Создать новую "услугу", например "DATASERVICE" (я использовал angular-cli), вы можете скопировать пасту. Они здесь являются «require(pouchdb)» и, таким образом, делают его доступным для ваших других компонентов посредством импорта.

    import { Injectable } from '@angular/core'; 
    var PouchDB = require('pouchdb'); 
    
    @Injectable() 
    export class DataService { 
    
        db: any; 
        username: any; 
        password: any; 
        remote: any; 
        data: any; 
    
        constructor() { 
        this.db = new PouchDB('YOUR_DATABASE'); 
        this.username = 'DATABASE_KEY'; 
        this.password = 'YOUR_PASSWORD'; 
    
        this.remote = 'https://YOU_ACCOUNT_NAME.cloudant.com/YOUR_DATABASE'; 
    
        let options = { 
         live: true, 
         retry: true, 
         continuous: true, 
         auth: { 
         username: this.username, 
         password: this.password 
         } 
        }; 
    
        this.db.sync(this.remote, options); 
    
        } 
    
        // other CRUD functions below... 
    } 
    
  3. app.module.ts - импортировать ваш новый "DataService" и добавить его в "providers".

  4. Теперь вы готовы начать играть. Например, под компонентом домашней страницы импортируйте «DataService» и начните вызывать функции CRUD, например. getDocuments, AddDocument и т.д ..

Примечание: если вы собираетесь тестировать свой API с помощью почтальона (например), убедитесь, что вы вводите свой Cloudant/CouchDB логин/пароль в разделе «Авторизация». В противном случае вы столкнетесь с ошибками чтения.

Demo приложение: https://github.com/rrubio/Angular2PouchDdCloudant

+0

Не кажется ли вам, что магазин базы данных учетных данных в TS файлы не являются безопасными? –

+0

Правильно! если вы ищете внешнее приложение, вам понадобится нечто вроде expressjs в середине. –