J'ai un problème lors du téléchargement de mon angular en production. L'application fonctionne très bien en développement et fonctionnait auparavant avant la production aussi.
Pour créer mon application, j'utilise:
ng build --prod --base-href="/site/"
L'application est construite, mais avec les avertissements suivants:
WARNING in ./src/app/eco-header/eco-header.component.ngfactory.js 138:299-319 "export 'MAT_ICON_LOCATION' (imported as 'i9') was not found in '@angular/material/icon'
WARNING in ./node_modules/@angular/material/dialog/typings/index.ngfactory.js 20:1247-1265 "export 'ScrollingModule' (imported as 'i7') was not found in '@angular/cdk/scrolling'
WARNING in ./node_modules/@angular/material/dialog/typings/index.ngfactory.js 20:1267-1285 "export 'ScrollingModule' (imported as 'i7') was not found in '@angular/cdk/scrolling'
WARNING in ./node_modules/@angular/material/icon/typings/index.ngfactory.js 20:327-347 "export 'MAT_ICON_LOCATION' (imported as 'i1') was not found in '@angular/material/icon'
Lorsque j'essaie de charger la page, j'obtiens l'erreur suivante:
Uncaught TypeError: e is not a constructor
at main.1ebe20842d3713f62535.js:1
at Wl (main.1ebe20842d3713f62535.js:1)
at main.1ebe20842d3713f62535.js:1
at new t (main.1ebe20842d3713f62535.js:1)
at Object.dr [as createNgModuleRef] (main.1ebe20842d3713f62535.js:1)
at e.create (main.1ebe20842d3713f62535.js:1)
at main.1ebe20842d3713f62535.js:1
at e.invoke (polyfills.c72d3210425a88b28b6d.js:1)
at Object.onInvoke (main.1ebe20842d3713f62535.js:1)
at e.invoke (polyfills.c72d3210425a88b28b6d.js:1)
Mon tsconfig
:
{
"compilerOptions": {
"experimentalDecorators": true,
"allowJs": true,
"sourceMap": true
}
}
Ma package.json
:
{ "name": "idea-ecomanager-frontend", "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.0.1",
"@angular/cdk": "^7.0.2",
"@angular/common": "^7.0.1",
"@angular/compiler": "^7.0.1",
"@angular/core": "^7.0.1",
"@angular/forms": "^7.0.1",
"@angular/http": "^7.0.1",
"@angular/material": "^7.0.2",
"@angular/platform-browser": "^7.0.1",
"@angular/platform-browser-dynamic": "^7.0.1",
"@angular/router": "^7.0.1",
"angularcli": "^6.0.1",
"bootstrap": "^4.1.3",
"core-js": "^2.5.4",
"ngx-loading": "^3.0.1",
"ngx-toastr": "^9.1.1",
"rxjs": "^6.3.3",
"zone.js": "^0.8.26" }, "devDependencies": {
"@angular-devkit/build-angular": "~0.6.0",
"@angular/cli": "^6.0.8",
"@angular/compiler-cli": "^7.0.1",
"@angular/language-service": "^7.0.1",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~1.7.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~1.4.2",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.3.0",
"ts-node": "~5.0.1",
"tslint": "~5.9.1",
"TypeScript": "~3.1.3" } }
Une idée pourquoi cela se produit?
après une longue période d'essais, j'ai découvert qu'il y avait un bogue ouvert à angular cli
https://github.com/angular/angular-cli/issues/9929
ng build --prod --base-href = "/ site /" - aot = false --build-optimizer = false
et pour l'instant en utilisant --aot=false --build-optimizer=false
temporaire résout le problème.
Je garderai le post à jour avec les informations et la solution officielles que angular fournira.
nous avons également eu le même problème.Une fois tous les modules de noeud supprimés et installés un par un, les modules de noeud.Après avoir installé chaque module de noeud, entrez ng build --prod, cela peut aider.Dans un projet, nous avons eu cette erreur dans le module de noeud à bascule de mot de passe ngx.