使用ng build --prod生成生成后,Angular5应用程序失败

时间:2018-01-17 03:56:56

标签: angular angular-cli angular2-aot

我完全不知道如何调试它。

我已经使用Angular 5构建了一个应用程序,它在ng serve --aot --progress=false --proxy-config proxy.conf.json

开发期间运行良好

现在我已准备好部署到生产环境。我正在运行ng build --prod --sm=false --aot --output-path=dist/client并且构建成功。

我将客户端文件复制到服务器,当我在浏览器中运行时,收到以下错误。

的FireFox:

TypeError: t[r] is undefined          main.1eda0feb0dddc7c4747b.bundle.js:1:791705

main.d8cd32d2ec09f8365918.bundle.js:1 Uncaught TypeError: Cannot read property 'call' of undefined
at n (main.d8cd32d2ec09f8365918.bundle.js:1)
at Object.t.exports (main.d8cd32d2ec09f8365918.bundle.js:1)
at n (main.d8cd32d2ec09f8365918.bundle.js:1)
at Object.t.exports (main.d8cd32d2ec09f8365918.bundle.js:1)
at n (main.d8cd32d2ec09f8365918.bundle.js:1)
at Object.t.exports (main.d8cd32d2ec09f8365918.bundle.js:1)
at n (main.d8cd32d2ec09f8365918.bundle.js:1)
at Object.t.exports (main.d8cd32d2ec09f8365918.bundle.js:1)
at n (main.d8cd32d2ec09f8365918.bundle.js:1)
at Object.<anonymous> (main.d8cd32d2ec09f8365918.bundle.js:1)

如果我去主套的特定部分:

...return t[r].call(i.exports,i,i.exports,n),i.l...

我在世界上如何调试这个并找出导致问题的原因?

3 个答案:

答案 0 :(得分:1)

在打开带有angular / cli的票证和用户在Gitter上与团队进行对话后,这似乎与cli依赖关系有关。添加--build-optimizer=false标志应该可以解决大多数情况。他们希望用@ angular / cli 1.6.5

来解决它

可以在https://github.com/angular/angular-cli/issues/9244#issuecomment-358828083

阅读完整对话

答案 1 :(得分:0)

在我的案例中使用--aot=false帮助

UPD:这是Angular CLI中的一个错误。已在1.6.6版本中修复

答案 2 :(得分:-1)

我们不应该每次都使用--aot=false,因为哪些构建成功创建但在部署后无法工作。无论您在应用程序中使用什么,都可以更好地使用全局中的精确角度clit版本。

我通过使用命令

更改角度CLI版本来解决此问题
npm install --save-dev @angular/cli@1.6.8

检查package-lock.json是否有角度版本,并在上面的命令中更改版本。