ionic上的Pouchdb和Cordova sqlcipher适配器:可能吗



我想知道以下配置是否适用于使用离子(角度(框架的混合应用程序:

  • 离子
  • cordova sqlcipher适配器
  • pouchdb

如果我们使用pouchdb适配器cordova sqlite插件使用pouchdb-adapter,但它不使用加密的插件,这应该会起作用。

我面临的问题是打字稿无法转换。我不知道如何设置环境并使用密钥定义sqlite密码数据库。

以下是一些示例打字脚本代码:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import PouchDB from 'pouchdb';
import cordovaSqlitePlugin from 'pouchdb-adapter-cordova-sqlite';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {

constructor(public navCtrl: NavController) {
this.setUpPouch();
}
setUpPouch(){
PouchDB.plugin(cordovaSqlitePlugin);
let db = new PouchDB('dummypouch.db', { adapter: 'cordova-sqlite', key:"dummy_key"});
}
}

我想知道是否有一种方法可以将密钥传递到PouchDB适配器,而不会破坏转换。

导致运输失败的线路:

let db = new PouchDB('dummypouch.db', { adapter: 'cordova-sqlite', key:"dummy_key"});

typescript transfile失败,并显示以下消息:

[12:35:30]  typescript: src/pages/home/home.ts, line: 21 
Argument of type '{ adapter: string; key: string; }' is not assignable to parameter of type 
'DatabaseConfiguration'. Object literal may only specify known properties, and 'key' does not exist in type 
'DatabaseConfiguration'. 

L20:    PouchDB.plugin(cordovaSqlitePlugin);
L21:    let db = new PouchDB('dummypouch.db', { adapter: 'cordova-sqlite', key:"dummy_key"});
Error: Failed to transpile program
at new BuildError (/Users/santi/dummy_project/dummy_push_test/node_modules/@ionic/app-scripts/dist/util/errors.js:16:28)
at /Users/santi/dummy_project/dummy_push_test/node_modules/@ionic/app-scripts/dist/transpile.js:159:20
at new Promise (<anonymous>)
at transpileWorker (/Users/santi/dummy_project/dummy_push_test/node_modules/@ionic/app-scripts/dist/transpile.js:107:12)
at Object.transpile (/Users/santi/dummy_project/dummy_push_test/node_modules/@ionic/app-scripts/dist/transpile.js:64:12)
at /Users/santi/dummy_project/dummy_push_test/node_modules/@ionic/app-scripts/dist/build.js:109:82
[12:35:30]  copy finished in 2.47 s 

我回答自己的问题以供参考。是的,只要我们不使用向typescript添加类型的@types/pouchdb模块,这是可能的。

如果我们有它们,我们必须删除它,并在不输入相关变量的情况下修复所有内容:

npm uninstall --save @types/pouchdb

我想,另一种选择是编写合适的类型并将其包含在项目中。。。我没有这么做,所以我不确定。

相关内容

  • 没有找到相关文章

最新更新