J'essaie de créer la version de production de mon application Web développée en angular7 et la compilation fonctionne bien. Mais lorsque j'essaye d'accéder à l'application, une erreur est générée dans la console:
import { NgbDateCustomParserFormatter } from './customformatters/NgbDateCustomParserFormatter'; import { WorkshiftComponent } from './protectedpages/workshift/workshift.component'; import { BrowserModule } from '@angular/platform-browser'; import { LOCALE_ID, NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; import { IntegerDirective } from './customdirectives/integerdirective'; import { FormsModule } from '@angular/forms'; import { HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { IndexComponent } from './publicpages/index/index.component'; import { RegisterComponent } from './publicpages/register/register.component'; import { ReactiveFormsModule } from '@angular/forms'; import { ActivateComponent } from './protectedpages/activate/activate.component'; import { LoginComponent } from './publicpages/login/login.component'; import { ConfigureirComponent } from './protectedpages/configureir/configureir.component'; import { ServicesComponent } from './protectedpages/services/services.component'; import { ConfigureuserComponent } from './protectedpages/configureuser/configureuser.component'; import { NavmenuComponent } from './protectedpages/navmenu/navmenu.component'; import { NewServiceComponent } from './protectedpages/newservice/newservice.component'; import { TildeStringPipe } from './custompipes/tildestring.pipe'; import { ServiceComponent } from './protectedpages/service/service.component'; import { NgbModule, NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap'; import { UsersComponent } from './protectedpages/users/users.component'; import { NewuserComponent } from './protectedpages/newuser/newuser.component'; import { ChangePasswordComponent } from './protectedpages/changepassword/changepassword.component'; import { CommaStringPipe } from './custompipes/commastring.pipe'; import { UserComponent } from './protectedpages/user/user.component'; import { VehiclesComponent } from './protectedpages/vehicles/vehicles.component'; import { VehicleComponent } from './protectedpages/vehicle/vehicle.component'; import { NewVehicleComponent } from './protectedpages/newvehicle/newvehicle.component'; import { NewWorkshiftComponent } from './protectedpages/newworkshift/newworkshift.component'; import { WorkshiftsComponent } from './protectedpages/workshifts/workshifts.component'; import { PublicnavmenuComponent } from './publicpages/publicnavmenu/publicnavmenu.component'; import { WhatisComponent } from './publicpages/whatis/whatis.component'; import { WhyComponent } from './publicpages/why/why.component'; import { PricesComponent } from './publicpages/prices/prices.component'; import { FaqComponent } from './publicpages/faq/faq.component'; import { LogoutComponent } from './publicpages/logout/logout.component'; import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; import { IntlTelInputModule } from 'angular-intl-tel-input'; // Locale IT import { registerLocaleData } from '@angular/common'; import localeIt from '@angular/common/locales/it'; registerLocaleData(localeIt, 'it'); @NgModule({ declarations: [ AppComponent, IndexComponent, RegisterComponent, ActivateComponent, LoginComponent, ConfigureirComponent, ServicesComponent, ConfigureuserComponent, NavmenuComponent, NewServiceComponent, TildeStringPipe, IntegerDirective, ServiceComponent, UsersComponent, NewuserComponent, ChangePasswordComponent, CommaStringPipe, UserComponent, VehiclesComponent, VehicleComponent, NewVehicleComponent, NewWorkshiftComponent, WorkshiftsComponent, WorkshiftComponent, PublicnavmenuComponent, WhatisComponent, WhyComponent, PricesComponent, FaqComponent, LogoutComponent ], imports: [ BrowserModule, AppRoutingModule, FormsModule, HttpClientModule, BrowserAnimationsModule, ReactiveFormsModule, NgbModule, BsDropdownModule.forRoot(), IntlTelInputModule ], providers: [{ provide: LOCALE_ID, useValue: 'it'}, {provide: NgbDateParserFormatter, useValue: NgbDateCustomParserFormatter}], bootstrap: [AppComponent] }) export class AppModule { }
Comment puis-je résoudre ce problème? Je ne comprends pas quelle bibliothèque ne va pas. Ceci est mon package.json
{ "name": "cop-ang", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" }, "private": true, "dependencies": { "@angular/animations": "^7.1.4", "@angular/common": "^7.1.4", "@angular/compiler": "^7.1.4", "@angular/core": "^7.1.4", "@angular/forms": "^7.1.4", "@angular/http": "^7.1.4", "@angular/platform-browser": "^7.1.4", "@angular/platform-browser-dynamic": "^7.1.4", "@angular/router": "^7.1.4", "@ng-bootstrap/ng-bootstrap": "^4.0.1", "angular-intl-tel-input": "0.0.9", "bootstrap": "^4.2.1", "core-js": "^2.6.1", "google-libphonenumber": "^3.2.2", "intl-tel-input": "^14.0.6", "jquery": "^3.3.1", "ngx-bootstrap": "^3.1.4", "npm-check-updates": "^2.15.0", "popper.js": "^1.14.6", "rxjs": "^6.3.3", "ts-md5": "^1.2.4", "zone.js": "^0.8.26" }, "devDependencies": { "@angular-devkit/build-angular": "^0.11.4", "@angular/cli": "^7.1.4", "@angular/compiler-cli": "^7.1.4", "@angular/language-service": "^7.1.4", "@types/jasmine": "^3.3.5", "@types/jasminewd2": "^2.0.6", "@types/jquery": "^3.3.29", "@types/node": "^10.12.18", "angular-ide": "^0.9.55", "codelyzer": "~4.5.0", "jasmine-core": "~3.3.0", "jasmine-spec-reporter": "~4.2.1", "karma": "^3.1.4", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "^2.0.4", "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "^1.4.0", "protractor": "^5.4.2", "ts-node": "~7.0.1", "tslint": "~5.12.0", "typescript": "3.1.6" } }
Et voici le app.module.ts:
Uncaught TypeError: ctor is not a constructor at _createClass (main.07add232d9f568bb2d7a.js:33609) at _createProviderInstance (main.07add232d9f568bb2d7a.js:33583) at initNgModule (main.07add232d9f568bb2d7a.js:33514) at new NgModuleRef_ (main.07add232d9f568bb2d7a.js:34243) at Object.createNgModuleRef (main.07add232d9f568bb2d7a.js:34232) at NgModuleFactory_.push../node_modules/@angular/core/fesm5/core.js.NgModuleFactory_.create (main.07add232d9f568bb2d7a.js:36793) at main.07add232d9f568bb2d7a.js:30443 at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (polyfills.a8a979dc29215b620775.js:396) at Object.onInvoke (main.07add232d9f568bb2d7a.js:29978) at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (polyfills.a8a979dc29215b620775.js:395)
6 Réponses :
J'ai pu me débarrasser de ce problème en supprimant le répertoire / node_modules et en exécutant une npm install
après.
Essayé sans succès
J'ai eu un problème similaire juste après la mise à niveau vers ng7.
Pour moi, le problème était les importations rxjs qui ont été modifiées par le processus de mise à niveau.
J'ai donc changé les importations comme «../../node_modules/rxjs/» en «rxjs».
Cela peut être une erreur dans les déclarations des fournisseurs.
Lorsque vous essayez de vous moquer d'un fournisseur et d'utiliser useClass au lieu de useValue, l'erreur "TypeError: ctor is not a constructeur" est déclenchée.
Voici un exemple qui déclenche l'erreur:
providers: [{provide: OrderService, useValue: new OrderServiceMock()}]
La déclaration correcte est:
providers: [{provide: OrderService, useClass: new OrderServiceMock()}]
veuillez vous référer ici: https://stackoverflow.com/a/44944645
En cas de react-native
, il suffit de redémarrer le serveur de métro pour vous aider.
Vous avez cette erreur en essayant d'accéder au magasin redux dans componentDidUpdate
sans vérifier prevProps
.
Vérifiez toujours prevProps
a éliminé cette erreur simplement en désinstallant et en réinstallant l'application
pouvez-vous ajouter votre
app.module.ts
?modifié la question d'origine, en ajoutant le module app.m
Pourriez-vous simplement changer le tableau
fournisseurs
ici enfournisseurs: [{provide: LOCALE_ID, useValue: 'it'}],
et re-tester?Essayé mais rien ne change :(
Supprimer les
fournisseurs
de nouveau test?Essayé sans chance
Existe-t-il un moyen de comprendre quelle bibliothèque est à l'origine du problème?