Angular Uncaught TypeError:生成--prod后e不是构造函数(在ng serve上工作) [英] Angular Uncaught TypeError: e is not a constructor after build --prod (work on ng serve)

查看:76
本文介绍了Angular Uncaught TypeError:生成--prod后e不是构造函数(在ng serve上工作)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在将我的角度应用程序上载到生产时,我遇到了问题. 该应用程序在开发中运行良好,并且在投入生产之前也可以正常工作.

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)

我的tsconfig:

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "allowJs": true,
        "sourceMap": true
    }
}

我的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?

推荐答案

经过长时间的尝试,我发现在角度cli处存在一个打开的错误

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

ng build --prod --base-href="/site/" --aot=false --build-optimizer=false

,目前暂时使用--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.

这篇关于Angular Uncaught TypeError:生成--prod后e不是构造函数(在ng serve上工作)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆