加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – TypeScript找不到名称’ClassName’,尽管导出了Ionic

发布时间:2020-12-17 18:07:21 所属栏目:安全 来源:网络整理
导读:我必须在我的Ionic 3应用程序中使用某些插件,但它给出了找不到名称错误.我进口了 从’@ ionic-native / android-permissions’导入{AndroidPermissions}; 并在构造函数中声明(公共androidPermissions:AndroidPermissions),它给出了一个错误([ts]找不到名称
我必须在我的Ionic 3应用程序中使用某些插件,但它给出了找不到名称错误.我进口了

从’@ ionic-native / android-permissions’导入{AndroidPermissions};

并在构造函数中声明(公共androidPermissions:AndroidPermissions),它给出了一个错误([ts]找不到名称’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
  }
}

解决方法

如果您使用离子版本3(不是最新的版本)请参考下面提到的文档
https://ionicframework.com/docs/v3/native/android-permissions/

先删除
离子cordova插件删除cordova-plugin-android-permissions

重新加上它

$ionic cordova plugin add cordova-plugin-android-permissions

$npm install –save @ionic-native/android-permissions@4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读