如何使用 Angular-Cli/Webpack 导入 PouchDb-Find
How to import PouchDb-Find with Angular-Cli/Webpack
我想将 Angular 2/Typescript 与 PouchDb 和 PouchDb-Find 一起用于使用 Angular-cli 生成的项目(现在基于 webpack。)PouchDb 与一个简单的导入语句。
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 模块?
这应该有效:
import * as PouchDB from 'pouchdb'
import * as PouchFind from 'pouchdb-find'
PouchDB.plugin(PouchFind)
对于打字,据我所知,没有用于 pouchdb-find 的打字,因此您必须使用 any
.
我怀疑我无法以预期的方式解决这个问题,因为 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>
我希望 Angular-cli 会很快成熟。
有点晚了,但我遇到了同样的麻烦,不会使用脚本 src 方式...
我正在将 nvm 与 nodejs 7.x 一起使用,并且不知道 nvm use xxx 在 Mac 重启后会丢失。
切换到 nodejs 7.1.0 后一切正常...
所以:注意你的 npm 版本
HTH
皮特
这对我有用。
安装 npm 包。
npm install --save pouchdb-browser
npm install --save pouchdb-find
并编写了这段代码
import PouchDB from 'pouchdb-browser';
import PouchDBFind from 'pouchdb-find';
PouchDB.plugin(PouchDBFind);
在 Angular 6 你应该添加到 polyfills.ts
:
(window as any).global = window;
(window as any).process = {};
(window as any).process.nextTick = setTimeout;
然后要使用 PouchDB/PouchDB-find,您应该将以下行添加到 service/controller:
import PouchDB from 'pouchdb';
import PouchFind from 'pouchdb-find';
PouchDB.plugin(PouchFind);
我想将 Angular 2/Typescript 与 PouchDb 和 PouchDb-Find 一起用于使用 Angular-cli 生成的项目(现在基于 webpack。)PouchDb 与一个简单的导入语句。
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 模块?
这应该有效:
import * as PouchDB from 'pouchdb'
import * as PouchFind from 'pouchdb-find'
PouchDB.plugin(PouchFind)
对于打字,据我所知,没有用于 pouchdb-find 的打字,因此您必须使用 any
.
我怀疑我无法以预期的方式解决这个问题,因为 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>
我希望 Angular-cli 会很快成熟。
有点晚了,但我遇到了同样的麻烦,不会使用脚本 src 方式...
我正在将 nvm 与 nodejs 7.x 一起使用,并且不知道 nvm use xxx 在 Mac 重启后会丢失。
切换到 nodejs 7.1.0 后一切正常...
所以:注意你的 npm 版本
HTH
皮特
这对我有用。
安装 npm 包。
npm install --save pouchdb-browser
npm install --save pouchdb-find
并编写了这段代码
import PouchDB from 'pouchdb-browser';
import PouchDBFind from 'pouchdb-find';
PouchDB.plugin(PouchDBFind);
在 Angular 6 你应该添加到 polyfills.ts
:
(window as any).global = window;
(window as any).process = {};
(window as any).process.nextTick = setTimeout;
然后要使用 PouchDB/PouchDB-find,您应该将以下行添加到 service/controller:
import PouchDB from 'pouchdb';
import PouchFind from 'pouchdb-find';
PouchDB.plugin(PouchFind);