2016-06-03 2 views
2

Я пытаюсь использовать pouchdb с TypScript. Я не могу ссылаться на модуль pouchdb.Как использовать pouchdb с машинописью?

import { PouchDB } from "pouchdb" 

сообщает, что он не может найти модуль pouchdb, даже если он находится в node_modules.

Я также не могу найти соответствующие тиски для pouchdb.

ответ

0

мне удалось получить модуль распознается с помощью

declare function require(a) 

var PouchDB = require("pouchdb") 

Я отказался от проверки типа, но по крайней мере я могу добиться прогресса.

+4

импорт * как PouchDB из 'pouchdb'; должен работать – LeRoy

+1

Вам повезло? У меня такая же проблема, она работает, но вам нужно перезагрузить страницу в новом браузере для отображения данных. @LeRoy Я пробовал ваш метод без везения. Лоты людей, имеющих одну и ту же проблему. Я использую angular2. –

2

Я делаю это в Ионном режиме, поэтому мне может не хватать шага по правильной загрузке файлов типов.

Убедитесь, что типы установлены с:

npm install --save-dev @types/pouchdb 

В верхней части импорта мешочке службы данных следующим образом:

import * as PouchDB from 'pouchdb'; 

* редактировать *

Я не» У меня есть все факты, но это мое настоящее понимание. Типографии больше не нужны в Typcript> 2.0 Я считаю, что машинопись теперь работает автоматически с файлами типов, установленными с DefinitelyTyped. DefinitelyTyped является официальным центральным хранилищем, которое поддерживается текущим, как npm. И даже если я ошибаюсь во всем этом, DefinitelyTyped по-прежнему лучше, чем типизация, и имеет гораздо большее сообщество.

+1

Это помогло мне, когда никакие другие методы не использовали TypeScript и Angular2. –

2

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

  1. ng new SOMENAME
  2. npm install --save pouchdb
  3. npm install --save-dev @types/pouchdb
  4. В ваш app.component import PouchDB from 'pouchdb';
  5. В вашем приложении компонентный класс public db: any; и для инициализации this.db = new PouchDB('test'); // , {storage:'persistent'} not working in typescript without updating typings

см. https://github.com/nolanlawson/pouchdb-find/issues/201.

Если у вас возникли проблемы с установкой пакетов на окна с использованием ошибки EPERM (f.e.) npm install --save pouchdb --no-optional, чтобы отключить предупреждение. Установка должна быть в порядке. Для получения дополнительной информации см. https://github.com/npm/npm/issues/17671