我不得不在我的Ionic 3应用程序中使用某些插件,但它给出了找不到名称错误。我导入了
import { AndroidPermissions } from '@ionic-native/android-permissions';
在构造函数(public androidPermissions: AndroidPermissions)中声明时,它会给出一个错误([ts] Cannot find name 'AndroidPermissions'.)。
在app.module.ts中声明相同的插件和在Provider中声明时,它给出了错误
[ts]
Type 'AndroidPermissionsOriginal' is not assignable to type 'Provider'.
Type 'AndroidPermissionsOriginal' is missing the following properties from type 'FactoryProvider': provide, useFactory [2322]看过论坛后,我用ngx导入了这个插件。
import { AndroidPermissions } from '@ionic-native/android-permissions/ngx'错误已解决,但在调用它时会抛出错误
Uncaught (in promise): TypeError: Object(...) is not a function
TypeError: Object(...) is not a function
at AndroidPermissions.requestPermissions (http://192.168.0.13:8100/build/vendor.js:69796:154)
at http://192.168.0.13:8100/build/main.js:138:32
at t.invoke (http://192.168.0.13:8100/build/polyfills.js:3:14976)
at Object.onInvoke (http://192.168.0.13:8100/build/vendor.js:5134:33)
at t.invoke (http://192.168.0.13:8100/build/polyfills.js:3:14916)
at r.run (http://192.168.0.13:8100/build/polyfills.js:3:10143)
at http://192.168.0.13:8100/build/polyfills.js:3:20242
at t.invokeTask (http://192.168.0.13:8100/build/polyfills.js:3:15660)
at Object.onInvokeTask (http://192.168.0.13:8100/build/vendor.js:5125:33)
at t.invokeTask (http://192.168.0.13:8100/build/polyfills.js:3:15581)在使用Network plugin和SMS plugin时也会出现类似的错误。
我还尝试将目标更改为es6和jib,以便在tsconfig.json中使用es2016,但什么都不起作用。下面是我的tsconfig.json
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
"dom",
"es2015"
],
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"target": "es5"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules",
"src/**/*.spec.ts",
"src/**/__tests__/*.ts"
],
"compileOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}发布于 2019-02-05 13:53:24
如果您使用的是ionic版本3(不是最新版本),请参阅下面提到的文档https://ionicframework.com/docs/v3/native/android-permissions/
首先删除
离子cordova插件删除cordova- plugin -android-permissions
使用以下命令重新添加
$ ionic cordova插件添加cordova- plugin -android-permissions
$ npm安装--保存@ionic-native/android-permissions@4
发布于 2019-02-06 19:52:41
尝试以下命令- remove package-lock.json
ionic cordova platform remove android npm install ionic cordova platform add android@6.3.0 ionic cordova plugin add cordova-plugin-android-permissions npm install --save @ionic-native/android-permissions@4
https://stackoverflow.com/questions/54377372
复制相似问题