L'application de travail quand je lance cordova ionique run android --device mais donne erreur lorsque je run cordova ionique android --prod --releaseLazy chargement composant 3ème partie en page chargée (ionique)
Je suis en train utiliser NG2-QRCode dans ma page chargée paresseux
Error: Unexpected value 'QRCodeComponent in D:/qrstore/node_modules/ng2-qrcode/dist/ng2-qrcode.d.ts' declared by the module 'ItemDetailPageModule in D:/qrstore/src/pages/item-detail/item-detail.module.ts'. Please add a @Pipe/@Directive/@Component annotation. at Error (native) at syntaxError (D:\qrstore\node_modules\@angular\compiler\bundles\compiler.umd.js:1729:34) at D:\qrstore\node_modules\@angular\compiler\bundles\compiler.umd.js:15625:40 at Array.forEach (native) at CompileMetadataResolver.getNgModuleMetadata (D:\qrstore\node_modules\@angular\compiler\bundles\compiler.umd.js:15607:54) at addNgModule (D:\qrstore\node_modules\@angular\compiler\bundles\compiler.umd.js:24403:58) at D:\qrstore\node_modules\@angular\compiler\bundles\compiler.umd.js:24414:14 at Array.forEach (native) at _createNgModules (D:\qrstore\node_modules\@angular\compiler\bundles\compiler.umd.js:24413:26) at analyzeNgModules (D:\qrstore\node_modules\@angular\compiler\bundles\compiler.umd.js:24288:14)
info ionique
@ionic/cli-utils : 1.12.0
ionic (Ionic CLI) : 3.12.0
packages globaux:
cordova (Cordova CLI) : 7.0.1
paquets locaux:
@ionic/app-scripts : 3.0.0
Cordova Platforms : android 6.2.3
Ionic Framework : ionic-angular 3.7.1
Système:
Android SDK Tools : 25.2.3
Node : v6.9.4
npm : 3.10.8
OS : Windows 10
Divers:
backend : pro
item module détail
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ItemDetailPage } from './item-detail';
import { HttpModule, Http } from '@angular/http';
//native
import { File } from '@ionic-native/file';
import { FilePath } from '@ionic-native/file-path';
import { SQLite } from '@ionic-native/sqlite';
//providers
import { ItemsProvider, LabelsProvider, SQLiteDatabaseProvider } from '../../providers/providers';
//components
import { ItemCreatePage } from '../item-create/item-create';
import { QRCodeComponent } from 'ng2-qrcode'
//directive
import { AbsoluteDragDirective } from '../../directives/absolute-drag/absolute-drag';
@NgModule({
declarations: [
ItemDetailPage,
QRCodeComponent,
AbsoluteDragDirective
],
imports: [
IonicPageModule.forChild(ItemDetailPage),
HttpModule
],
exports: [
ItemDetailPage
],
entryComponents: []
,
providers:[
ItemsProvider,
SQLite,
SQLiteDatabaseProvider,
File,
FilePath
]
})
export class ItemDetailPageModule {}
Bonne info +1 Une question: Est-ce que cela signifie que nous ne pouvons pas utiliser un composant angulaire qui ne se développe pas en utilisant 'Angular 4' et plus? En d'autres termes, ne pouvons-nous pas utiliser les composants 'Angular 2' avec le dernier' Ionic 3' avec 'AOT'? – Sampath
Merci Sam! Le composant lui-même n'est pas un problème, si vous copiez le coller dans votre propre projet, il devrait fonctionner correctement. Le problème est de savoir comment la bibliothèque a été publiée, pour que votre bibliothèque Angular2 fonctionne avec ngc (le compilateur angulaire, qui est lancé à l'avance en mode prod) quelques modifications doivent être faites (par exemple en plus des fichiers * .d.ts Les fichiers * .metadata.json sont nécessaires). Vous pouvez en lire plus à ce sujet [ici] (https://medium.com/@isaacplmann/getting-your-angular-2-library-ready-for-aot-90d1347bcad). Donc, la plupart des composants devraient fonctionner avec Angular4/Ionic3 mais pas celui-ci car il n'est pas maintenu. – David