Мне нужно использовать некоторые плагины в моем приложении Ionic 3, но это выдает сообщение об ошибке «Не удается найти имя»Я импортировал
import { AndroidPermissions } from '@ionic-native/android-permissions';
и при объявлении в конструкторе (public androidPermissions: AndroidPermissions)
, выдает ошибку ([ts] Cannot find name 'AndroidPermissions'.)
.
При объявлении того же плагина в app.module.ts и объявив в провайдере, он выдал ошибку
[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)
Аналогичная ошибка произошла при использовании Сетевой плагин и Плагин SMS .
Также попытался изменить цель на es6 и Jib, чтобы иметьes2016 в tsconfig.json но замечание сработало.Ниже мой 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
}
}