Вот несколько бесполезная ошибка, которую я получаю в своем приложении Angular/TypeScript. Пока кто-нибудь не улучшит сообщение об ошибке, что мы можем с этим поделать? Каковы наиболее вероятные ситуации, которые вызывают это? Вот мой файл app.module.js и файлы home.ts.
Когда я удаляю файл и плагин для открытия файлов, он не получает ошибку. Если я включу этот плагин в home.ts, он покажет ошибку. Каковы наиболее вероятные ситуации, которые вызывают это?
app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { FileOriginal } from '@ionic-native/file';
import { FileOpenerOriginal } from '@ionic-native/file-opener';
@NgModule({
declarations: [
MyApp,
HomePage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
FileOriginal,
FileOpenerOriginal
]
})
export class AppModule {}
дом.тс
import { FileOriginal } from '@ionic-native/file';
import { FileOpenerOriginal } from '@ionic-native/file-opener'
constructor(public navCtrl: NavController,private plt: Platform, private file: FileOriginal, private fileOpener: FileOpenerOriginal) {
}
Я получил такую ошибку:
Uncaught Error: Encountered undefined provider!
Usually this means you have a circular dependencies (might be caused by using 'barrel' index.ts files.)
at syntaxError (compiler.js:486)
at compiler.js:15767
at Array.forEach (<anonymous>)
at CompileMetadataResolver._getProvidersMetadata (compiler.js:15752)
at CompileMetadataResolver.getNgModuleMetadata (compiler.js:15320)
at JitCompiler._loadModules (compiler.js:34413)
at JitCompiler._compileModuleAndComponents (compiler.js:34374)
спасибо, братан, моя ошибка возникает в плагине для открытия файлов и файлов... в этом решении ошибка возникает в модуле
Что такое FileOriginal
? ionicframework.com/docs/v3/native/файл
я устанавливаю этот плагин ionic cordova plugin add cordova-plugin-file
. я объявляю имя провайдера как файл. он показывает ошибку и рекомендует добавить fileOriginal
Вам нужно использовать File, а не FileOriginal. В моем проекте я объявляю файл как провайдер, и он работает. Вы правильно его установили?
Когда вы используете эту команду ionic cordova plugin add cordova-plugin-file
, у вас есть какие-либо предупреждения о зависимостях?
Возможно, версия плагина несовместима с ionic 3.
РЕДАКТИРОВАТЬ
Команда:
ionic cordova plugin add cordova-plugin-file
npm install @ionic-native/[email protected]
когда я использую класс файла (псевдоним) FileOpenerOriginal import FileOpenerOriginal @name — File Opener @description — этот плагин откроет файл в файловой системе вашего устройства с помощью приложения по умолчанию. @usage * import { FileOpener } from '@ionic-native/file-opener/ngx'; * * конструктор (приватный fileOpener: FileOpener) { } * * ...`
Как я уже сказал, вы установили его правильно? Вы используете команду 2? В моем package.json у меня есть это для ionic 3: "@ionic-native/file": "^4.20.0"
и это: `"cordova-plugin-file": "6.0.1",`
я добавил <plugin name = "cordova-plugin-file" spec = "6.0.1" /> <plugin name = "cordova-plugin-file-opener2" spec = "2.2.0">
Но можете ли вы сказать мне, какая версия у вас есть в вашем пакете json?
> cordova plugin add [email protected] --save Installing "cordova-plugin-file" for android Installing "cordova-plugin-compat" for android Plugin doesn't support this project's cordova-android version. cordova-android: 7.1.4, failed version requirement: <6.3.0 Skipping 'cordova-plugin-compat' for android
Я думаю, вам нужно удалить plugin-compat , Cordova-plugin-compat теперь включен в Cordova-Android 6.3.0, нет необходимости снова добавлять плагин. Я редактирую свой ответ, попробуйте выполнить команду, которую я вам даю ^^, и не забудьте добавить удалить платформу, иногда это просто ошибка.
вы пробовали это решение stackoverflow.com/questions/43008395/…