J'obtiens cette erreur après la migration vers NgModule, l'erreur n'aide pas trop, un conseil s'il vous plaît?
Error: Error: Unexpected value 'undefined' imported by the module 'AppModule'
at new BaseException (http://localhost:5555/node_modules/@angular/compiler/bundles/compiler.umd.js:5116:27)
at eval (http://localhost:5555/node_modules/@angular/compiler/bundles/compiler.umd.js:13231:35)
at Array.forEach (native)
at CompileMetadataResolver.getNgModuleMetadata (http://localhost:5555/node_modules/@angular/compiler/bundles/compiler.umd.js:13215:48)
at RuntimeCompiler._compileComponents (http://localhost:5555/node_modules/@angular/compiler/bundles/compiler.umd.js:15845:51)
at RuntimeCompiler._compileModuleAndComponents (http://localhost:5555/node_modules/@angular/compiler/bundles/compiler.umd.js:15769:41)
at RuntimeCompiler.compileModuleAsync (http://localhost:5555/node_modules/@angular/compiler/bundles/compiler.umd.js:15746:25)
at PlatformRef_._bootstrapModuleWithZone (http://localhost:5555/node_modules/@angular/core/bundles/core.umd.js:9991:29)
at PlatformRef_.bootstrapModule (http://localhost:5555/node_modules/@angular/core/bundles/core.umd.js:9984:25)
at Object.eval (http://localhost:5555/app/main.js:8:53)
Evaluating http://localhost:5555/app/main.js
Error loading http://localhost:5555/app/main.js "Report this error at https://github.com/mgechev/angular2-seed/issues"(anonymous function) @ contracts:142ZoneDelegate.invoke @ zone.js?1472711930202:332Zone.run @ zone.js?1472711930202:225(anonymous function) @ zone.js?1472711930202:586ZoneDelegate.invokeTask @ zone.js?1472711930202:365Zone.runTask @ zone.js?1472711930202:265drainMicroTaskQueue @ zone.js?1472711930202:491ZoneTask.invoke @ zone.js?1472711930202:435
app.module.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { APP_BASE_HREF } from '@angular/common';
import { RouterModule } from '@angular/router';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { routes } from './app.routes';
import { provide } from '@angular/core';
//dgf ng2-translate
import { TRANSLATE_PROVIDERS, TranslateLoader, TranslateStaticLoader, MissingTranslationHandler } from 'ng2-translate/ng2-translate';
import { HTTP_PROVIDERS, Http } from '@angular/http';
import { FormsModule,ReactiveFormsModule } from '@angular/forms';
import { TranslationNotFoundHandler } from './shared/common/TranslationNotFoundHandler';
//dgf ng2-translate END
import {CalendarModule,DataTableModule,DialogModule,PanelModule} from 'primeng/primeng';
import {TranslateModule} from 'ng2-translate/ng2-translate';
import { AuthGuard,AppConfigService,AppConfig,DateHelper,ThemeComponent,ToolbarComponent, RemoveHostTagDirective } from './index';
import { HomeComponent,MessagesExampleComponent,PrimeNgHomeComponent,CalendarComponent,Ng2BootstrapExamplesComponent,DatepickerDemoComponent,UserListComponent,UserEditComponent,ContractListComponent,AboutComponent } from './index';
@NgModule({
imports: [BrowserModule, HttpModule, RouterModule.forRoot(routes), /* AboutModule, HomeModule, SharedModule.forRoot()*/
FormsModule,
ReactiveFormsModule,
//third-party
,TranslateModule.forRoot() //,
//third-party PRIMENG
,CalendarModule,DataTableModule,DialogModule,PanelModule
],
declarations: [
AppComponent,ThemeComponent, ToolbarComponent, RemoveHostTagDirective,
HomeComponent,MessagesExampleComponent,PrimeNgHomeComponent,CalendarComponent,Ng2BootstrapExamplesComponent,DatepickerDemoComponent,UserListComponent,UserEditComponent,ContractListComponent,AboutComponent
],
providers: [{
provide: APP_BASE_HREF,
useValue: '<%= APP_BASE %>'
},
FormsModule,
ReactiveFormsModule,
provide(TranslateLoader, { //DGF ng2-translate
useFactory: (http: Http) => new TranslateStaticLoader(http, 'assets/i18n', '.json'),
deps: [Http]
}),
provide(MissingTranslationHandler, { useClass: TranslationNotFoundHandler }), //DGF ng2-translate
AuthGuard,AppConfigService,AppConfig,
DateHelper
],
bootstrap: [AppComponent]
})
export class AppModule { }
, ,
Réponses:
Pour toute personne confrontée à cette même erreur, ma situation était que j'avais des virgules doubles dans la section des importations
la source
Assurez-vous que les modules ne s'importent pas. Donc, il ne devrait pas y avoir
Dans le module A:
imports[ModuleB]
Dans le module B:
imports[ModuleA]
la source
Cela peut être causé par plusieurs scénarios comme
la source
Aucune des solutions ci-dessus n'a fonctionné pour moi, mais simplement arrêter et exécuter à nouveau "ng serve".
la source
circular dependency
J'ai eu le même problème. Dans mon cas, la raison est une virgule supplémentaire.
la source
J'ai eu cette erreur car j'avais un
index.ts
fichier à la racine de mon application qui exportait mon fichierapp.component.ts
. J'ai donc pensé que je pourrais faire ce qui suit:Cela a fonctionné et ne m'a pas donné de lignes ondulées rouges et même intellisense fait apparaître AppComponent lorsque vous commencez à le taper. Mais venez découvrir que cela causait cette erreur. Après je l'ai changé en:
L'erreur est partie.
la source
Assurez-vous de ne pas importer un module / composant comme celui-ci:
Mais ça devrait être
la source
Ce problème des dépendances circulaires de deux modules
Module 1: import Module 2
Module 2: import Module 1
la source
Je suis en train de créer une bibliothèque de composants et j'ai commencé à recevoir cette erreur dans mon application qui importe ladite bibliothèque. En cours d'exécution
ng build --prod
oung serve --aot
dans l'application, j'obtiendrais:Unexpected value 'undefined' imported by the module 'ɵm in node_modules/<library-name>/<library-name>.d.ts'
Mais aucune erreur lors de l'utilisation
ng serve
ou lors du test des modules dans la bibliothèque elle-même, même lors de la construction--prod
.Il s'avère que j'ai également été induit en erreur par l'intellisense. Pour quelques-uns de mes modules, j'avais importé un module sœur en tant que
import { DesignModule } from '../../design';
au lieu de
import { DesignModule } from '../../design/design.module';
Cela a bien fonctionné dans toutes les versions sauf celle que j'ai décrite.
C'était terrible à cerner et j'ai eu de la chance que cela ne me prenne pas plus de temps. J'espère que cela aidera quelqu'un.
la source
A eu la même exception lors de la tentative de compilation d'une application Angular 5.
Dans mon cas, il s'est avéré que c'était une dépendance circulaire que j'ai trouvée en utilisant un outil madge . J'ai trouvé les fichiers contenant une dépendance circulaire en exécutant
la source
Vous devez supprimer la ligne
import { provide } from '@angular/core';
deapp.module.ts
car elleprovide
est désormais obsolète. Vous devez utiliserprovide
comme ci-dessous dans les fournisseurs:la source
Il suffit de mettre le fournisseur dans le forRoot fonctionne: https://github.com/ocombe/ng2-translate
la source
il existe une autre solution simple pour cela. J'ai 2 modules qui sont en quelque sorte profondément ancrés dans la structure en s'utilisant les uns les autres. J'ai rencontré le même problème avec les dépendances circulaires avec webpack et angular 2. J'ai simplement changé la façon dont le module est déclaré:
Lorsque j'utilise maintenant l'instruction importations sur l'attribut ngModule, j'utilise simplement:
Avec cela, tous les problèmes sont partis.
la source
Mon problème était d'avoir une exportation deux fois dans index.ts
La suppression de l'un d'entre eux a résolu le problème.
la source
J'ai eu ce problème, il est vrai que l'erreur sur la console n'est pas descriptive. Mais si vous regardez la sortie angular-cli:
Vous verrez un AVERTISSEMENT, pointant vers la dépendance circulaire
La solution consiste donc à supprimer une importation de l'un des modules.
la source
Le problème est qu'il existe au moins une importation pour laquelle le fichier source est manquant.
Par exemple, j'ai eu la même erreur lorsque j'utilisais
Mais le fichier './app-routing.module' n'était pas là dans le chemin donné.
J'ai supprimé cette importation et l'erreur a disparu.
la source
J'ai eu la même erreur, aucun des conseils ci-dessus n'a aidé.
Dans mon cas, cela a été causé par WebStorm, qui a combiné deux importations en une seule.
J'ai extrait ceci en deux importations distinctes
Après cela, cela fonctionne sans erreur.
la source
./models
une autre fois./model
Dans le cas où votre index exporte un module - Ce module ne doit pas importer ses composants à partir du même index, il doit les importer directement à partir du fichier de composants.
J'ai eu ce problème, et lorsque je suis passé de l'importation des composants dans le fichier de module à l'aide de l'index à leur importation à l'aide du fichier direct, cela a été résolu.
par exemple changé:
à:
supprimez également les exportations désormais inutiles de votre index, par exemple:
à:
la source
Une autre raison pourrait être un code comme celui-ci:
Parce que les exportations sont un tableau vide et qu'il a, avant lui, il doit être supprimé.
la source
J'ai eu le même problème, j'ai ajouté le composant dans l' index.ts de a = du dossier et j'ai fait une exportation. L'erreur non définie surgissait toujours. Mais l'IDE fait apparaître nos lignes ondulées rouges
Puis comme suggéré changé de
à
la source
Tant que vous êtes sûr de ne rien faire de mal, veuillez terminer "ng serve" et le redémarrer. Ce faisant, le compilateur effectue tout son travail et l'application fonctionne comme prévu. Des expériences antérieures avec des modules m'ont appris à les créer lorsque "ng serve" n'est pas en cours d'exécution ou à redémarrer le terminal une fois que j'ai terminé.
Le redémarrage de "ng serve" fonctionne également lorsque vous émettez un nouveau composant vers un autre composant, il est possible que le compilateur n'ait pas reconnu votre nouveau composant, redémarrez simplement "ng serve"
Cela a fonctionné pour moi il y a quelques minutes.
la source
Je le répare en supprimant tous les fichiers d'exportation d'index, en incluant le tuyau, le service. alors tout chemin d'importation de fichier est un chemin spécifique. par exemple.
import { AuthService } from './_common/services/auth.service';
remplacer
import { AuthService } from './_common/services';
de plus, n'exportez pas la classe par défaut.
la source
Mon problème était un nom de composant mal orthographié dans le fichier
component.ts
.La déclaration d'importation n'a pas montré d'erreur, mais la déclaration l'a fait, ce qui m'a induit en erreur.
la source
L' argument " private http: Http " inutilisé dans le constructeur de app.component.ts m'avait causé la même erreur et il a été résolu en supprimant l'argument inutilisé du constructeur
la source
Très probablement, l'erreur sera liée au fichier AppModule.ts.
Pour résoudre ce problème, vérifiez si chaque composant est déclaré et chaque service que nous déclarons est placé dans les fournisseurs, etc.
Et même si tout semble correct dans le fichier AppModule et que vous obtenez toujours l'erreur, arrêtez votre instance angulaire en cours d'exécution et redémarrez-la à nouveau. Cela peut résoudre votre problème si tout dans le fichier du module est correct et si vous obtenez toujours l'erreur.
la source
Pour moi, le problème a été résolu en modifiant la séquence d'importation:
Un avec j'ai eu l'erreur:
Changé ceci en:
la source
Les solutions ci-dessus n'ont pas fonctionné pour moi.
Donc, je soutiens la version d'angular-cli de 1.6.4 pour 1.4.4 et cela a résolu mon problème.
Je ne sais pas si c'est la meilleure solution, mais pour l'instant, cela a fonctionné pour moi
la source
J'étais confronté au même problème. Le problème était que j'importais une classe à partir d'index.ts
index.ts contient l'instruction d'exportation
Je l'ai changé en fichier .ts qui contient l'objet de classe réel
et il a résolu.
la source
Pour moi, cette erreur a été causée par une importation inutilisée:
Erreur résultante:
Commentez-le, et l'erreur ne se produit pas:
la source
J'ai rencontré ce problème à la situation:
- app-module --- app-routing // app router ----- imports: [RouterModule.forRoot(routes)] --- demo-module // sub-module ----- demo-routing ------- imports: [RouterModule.forRoot(routes)] // --> should be RouterModule.forChild!
car il n'y a qu'un
root
.la source