I have a problem while uploading my angular application to production . The application works just fine in development and used to work before on production too.
To build my application I'm using:
ng build --prod --base-href="/site/"
The application is built, but with the following warnings:
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'
When I try to load the page, I get the following error:
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)
My tsconfig
:
{
"compilerOptions": {
"experimentalDecorators": true,
"allowJs": true,
"sourceMap": true
}
}
My 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" } }
Any idea why this is happening?
after a long time of trying, I discovered that there is an open bug at angular cli
https://github.com/angular/angular-cli/issues/9929
ng build --prod --base-href="/site/" --aot=false --build-optimizer=false
and for now using --aot=false --build-optimizer=false
temporarily solves the problem.
Ill keep the post updated with official the information and solution that angular team will provide.
we also got same issue.Once remove all the node modules and install one by one node modules.After installing every node module enter ng build --prod it may help.In one project we got that error in ngx password toggle node module.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With