2
votes

Le type 'SQLiteOriginal' ne peut pas être affecté au type 'Provider'

Je suis nouveau sur Ionic 4 et j'essaie de faire fonctionner SQLite. J'ai ajouté le plugin cordova et le sqlite natif ionique, mais lorsque j'essaye de le configurer dans le module d'application, j'obtiens l'erreur ci-dessus. Voici mon application, module.ts

import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';

import { IonicStorageModule } from '@ionic/storage';
import { SQLite } from '@ionic-native/sqlite';


@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), IonicStorageModule.forRoot(), AppRoutingModule],
  providers: [
    StatusBar,
    SplashScreen,
    SQLite,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

Quelqu'un peut-il m'aider?


0 commentaires

5 Réponses :


3
votes

Il semble que cela ait à voir avec la dernière version d'Ionic 4. J'ai rencontré ce problème avec @ ionic-native / file dans mon application. Si vous avez installé après la publication sans spécifier la version souhaitée, vous avez probablement la dernière version ou la version bêta.

J'ai pu le réparer en revenant à une version antérieure en modifiant mon package.json code > pour refléter la version requise - J'ai installé 5.0.0 et je suis revenu à 4.20.0 . Si vous avez VersionLens pour VSCode, il vous montrera la version minimale et la dernière version.

Ensuite, effacez vos modules de nœuds, et réinstallez:

rm -rf node_modules/
npm install

Il y a un autre article ouvert ceci, disponible ici:

Le type HTTPOriginal n'est pas attribuable au type Fournisseur, erreur ionique après l'installation du plugin


2 commentaires

Salut, merci d'avoir répondu. J'ai ajouté le / ngx dans l'importation et cela l'a corrigé


En effet. Cela a également fonctionné pour moi! Astuce: Vous pouvez probablement marquer une réponse, car il sera plus facile de trouver la solution pour d'autres développeurs à l'avenir.



10
votes

Vous devez importer depuis '@ ionic-native / sqlite / ngx'

https://ionicframework.com/docs/native


0 commentaires

2
votes

Cela arrive à cause de la nouvelle mise à jour d'ionic 4.

Vous devez ajouter / ngx à l'importation de votre plugin. Comme ceci:

import { PluginName} from '@ionic-native/pluginName/ngx';

Sinon, revenez à ionic v4.

Plus d'informations ici


1 commentaires

Merci beaucoup pour cet indice, vous avez sauvé ma journée :)



0
votes

Import :

providers: [
   SQLite,
   SQLitePorter
]

Et ajoutez au fournisseur:

import { SQLitePorter } from '@ionic-native/sqlite-porter/ngx';
import { SQLite } from '@ionic-native/sqlite/ngx';

Cela se produit généralement si vous les importez depuis un chemin différent. p >


0 commentaires

1
votes

Partout où des plugins natifs sont importés, vous devez ajouter / ngx /.

De plus, cela doit être fait tout au long du projet, sinon l'erreur apparaîtra toujours.

Exemple d'erreur :

import {Market} from '@ionic-native/market/ngx';

Exemple vrai:

import {Market} from '@ionic-native/market';


0 commentaires