我已经读过某些未提供的模块或服务等可能导致此问题,但似乎所有内容都已到位。
完整错误是:
vendor.96643eaf6ee79e7b894d.bundle.js:1 ERROR Error: No provider for t!
at x (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at S (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at t._throwOrNull (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at t._getByKeyDefault (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at t._getByKey (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at t.get (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at ze (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at qe (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at Be (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at ze (vendor.96643eaf6ee79e7b894d.bundle.js:1)
b @ vendor.96643eaf6ee79e7b894d.bundle.js:1
任何能够在生产模式下成功部署的帮助都会令人惊叹。我用这么少的信息找不到错误。有没有人知道扩展错误的方法来获得对调试有用的东西?
评论解决方案 如果在ng服务器中添加“--aot false”标志会停止显示错误, - 单独添加将显示相关的错误以启用调试。
答案 0 :(得分:3)
我想利用@LucaTaccagni所说的内容:将您的应用程序置于生产模式这种方式旁边是无用的。
Angular使用此变量来检测代码中的生产模式,但CLI不使用它。
如果您想在本地设备上模拟真实版本,请运行此
ng serve --prod --env dev
编辑如果AOT模式出现问题,您可以这样做
ng serve --aot
这会将很多标志设置为true(例如,AOT编译),而仅更改变量不会影响您的构建。
但正如他所说,一旦你完成了,你可以调试。
答案 1 :(得分:1)
尝试更改此标志:
export const environment = {
production: true, // should be false by default
然后尝试在开发模式下再次构建(ng服务应该有效)。现在你应该能够调试了。
您看到的错误:t
是一个变量,它最小化了编译器在构建项目时所做的缩小,这是将代码隐藏到客户端所必需的。