2016-07-31 25 views
1

我想用Angular 2/Typescript與PouchDb和PouchDb-Find一起使用Angular-cli生成的項目(現在基於webpack。)PouchDb獲取有線在一個簡單的進口聲明。如何使用Angular-Cli/Webpack導入PouchDb-Find

import * as PouchDB from 'pouchdb'

var commonDb = new PouchDB(this.commonDbUrl) ; 
console.log("commonDb",commonDb) ; 

// .getIndexes() is from pouchDb.find. I don't know what the import for it is 
commonDb.getIndexes().then(function (result) { 
    console.log("GetIndexes.Success",result) ; 
}).catch(function (err) { 
    console.log("GetIndexes.Failed",err) ; 
}); 

新PouchDb工作時,commonDb.getIndexes沒有。我試過import * as pouchfind from 'pouchdb-find'許多變化無濟於事。

如何導入PouchDb-Find模塊?

+0

你必須做一些設置來獲得'PouchDB'工作,不是嗎?比如'npm install ...'等等。你做了什麼? (你是否也爲PouchDB-Find做了這件事?) – acdcjunior

+0

我爲PouchDb和PouchDb找到了NPM Install。所以他們在node_modules中。我的理解是,webpack會查看導入語句以確定要將哪些內容帶入該包。我只是不知道導入聲明應該是什麼樣子。 – jeff

+0

作爲PouchDB從'pouchdb'工作導入*嗎? – acdcjunior

回答

0

我懷疑我無法以預期的方式解決此問題,因爲Angular-Cli仍處於測試階段,並且必定存在一些問題。

我能夠通過將pouchdb.find.js和poucdb.js放入public/pouchdb文件夾並從index.html引用它們來解決問題,如下所示。我很清楚,這是一個解決方法,需要解決。

<script src="pouchdb/pouchdb.js"></script> 
 
<script src="pouchdb/pouchdb.find.js"></script> 
 

 
<script> 
 
    PouchDB('pouchdbfind') ; 
 
</script>

我希望角CLI會很快成熟起來。

2

這應該工作:

import * as PouchDB from 'pouchdb' 
import * as PouchFind from 'pouchdb-find' 
PouchDB.plugin(PouchFind) 

對於分型,對於沒有分型pouchdb找到的,我所知道的,所以你必須使用any

+0

即使我已經完成了NPM安裝並確認它位於node_modules文件夾中,我仍然在pouchdb-find上發現模塊未找到錯誤。必須是角色的事情。 – jeff

+0

只用於pouchdb我用'從pouchdb導入PouchDB;'' – slavugan

0

有點晚了,但我有同樣的煩惱,也不會使用該腳本SRC方式...

我使用與NVM的NodeJS 7.x和以前不知道NVM使用XXX會在重新啓動後在Mac上丟失。

切換到7.1.0的NodeJS所有的作品如預期後...

SO:看你的NPM版本

HTH

皮特

2

這對我的作品。

安裝npm包。

npm install --save pouchdb-browser 
npm install --save pouchdb-find 

,並寫了這個代碼

import PouchDB from 'pouchdb-browser'; 
import PouchDBFind from 'pouchdb-find'; 
PouchDB.plugin(PouchDBFind);