Приложение Ionic 3 не компилируется - PullRequest
0 голосов
/ 30 сентября 2019

Я создал приложение Ionic на Ionic3 и firebase, и оно отлично работает на моем собственном ПК, но как только мой друг запускает его, оно не работает. Он получает следующую ошибку

Ошибка выполнения
Недопустимый поставщик для NgModule 'AppModule' - разрешены только экземпляры Provider и Type, получены: [StatusBar, SplashScreen, [object Object], AuthProvider, AngularFireAuth, UserProvider, ImghandlerProvider,? [Object Object] ?, ...]

Stack
Ошибка: неверный поставщик для NgModule 'AppModule' - разрешены только экземпляры Provider и Type, получено:[StatusBar, SplashScreen, [объектный объект], AuthProvider, AngularFireAuth, UserProvider, ImghandlerProvider,? [Объектный объект] ?, ...]

Здесь находится файл 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 { config } from './app.firebaseconfig';

    import { AngularFireAuth } from 'angularfire2/auth';
    import { AngularFireModule } from 'angularfire2';

    import { MyApp } from './app.component';
    import { AuthProvider } from '../providers/auth/auth';
    import { UserProvider } from '../providers/user/user';
    import { ImghandlerProvider } from '../providers/imghandler/imghandler';
    import { File } from '@ionic-native/file/ngx';
    import { FileChooser } from '@ionic-native/file-chooser';
    import { FilePath } from '@ionic-native/file-path/ngx';
    import { RequestsProvider } from '../providers/requests/requests';
    import { ChatProvider } from '../providers/chat/chat';
    import { GroupsProvider } from '../providers/groups/groups';
    import { CommandProvider } from '../providers/command/command';


    @NgModule({
      declarations: [
        MyApp
      ],
      imports: [
        BrowserModule,
        IonicModule.forRoot(MyApp, {tabsPlacement: 'top'}),
        AngularFireModule.initializeApp(config)
      ],
      bootstrap: [IonicApp],
      entryComponents: [
        MyApp
      ],
      providers: [
        StatusBar,
        SplashScreen,
        {provide: ErrorHandler, useClass: IonicErrorHandler},
        AuthProvider,
        AngularFireAuth,
        UserProvider,
        ImghandlerProvider,
        FileChooser,
        File,
        FilePath,
        RequestsProvider,
        ChatProvider,
        GroupsProvider,
        CommandProvider
      ]
    })
    export class AppModule {}

Есть идеи, почему это происходит? Спасибо за любую помощь

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Пожалуйста, проверьте ваши пакеты и импорт. Существует смесь ионных 4 и ионных 3 нативных пакетов. Если вы используете ionic 3, у вас есть некоторые собственные пакеты, предназначенные для ionic 4, то есть все пакеты, которые заканчиваются на ngx, те, которые предназначены для ionic 4. Поэтому следующие неправильные:

import { File } from '@ionic-native/file/ngx';
import { FilePath } from '@ionic-native/file-path/ngx';

ПожалуйстаИзвлеките и переустановите их, проверив документацию ionic 3 о том, как их установить, например, документацию по File

0 голосов
/ 01 октября 2019

Пожалуйста, проверьте вашу текущую системную среду. Я могу быть последней версией ionic и node. Вам необходимо понизить версию ваших ionic и node для совместимости. Затем удалите папку node_modules, а также удалите файл packg-lock.json и запустите

npm i

, после этого запустите

 npm rebuild node-sass

, после этого успешно запустите

npm i firebase@current_verion_in_your_packg.json

ура

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...