Angular 5 NullInjectorError: No provider for n

我是研究僧i 提交于 2019-11-30 09:17:33

问题


When I'm starting my website with ng serve everything works fine, but every try to launch a production getting an error NullInjectorError: No provider for n. I checked all services that I wrote are included in NgModule providers. Because this is the production, all files are minified and uglified, so I don't know what exactly cause the problem. Is there any way to check it or maybe it's possible to get from the error details?

ERROR Error: StaticInjectorError(G)[n -> n]: 
StaticInjectorError(Platform: core)[n -> n]: 
NullInjectorError: No provider for n!
at n.get (main.94f42881e2fdceca85d7.bundle.js:1)
at main.94f42881e2fdceca85d7.bundle.js:1
at n (main.94f42881e2fdceca85d7.bundle.js:1)
at n.get (main.94f42881e2fdceca85d7.bundle.js:1)
at main.94f42881e2fdceca85d7.bundle.js:1
at n (main.94f42881e2fdceca85d7.bundle.js:1)
at n.get (main.94f42881e2fdceca85d7.bundle.js:1)
at Pi (main.94f42881e2fdceca85d7.bundle.js:1)
at main.94f42881e2fdceca85d7.bundle.js:1
at Li (main.94f42881e2fdceca85d7.bundle.js:1)

回答1:


This is probably due to the differences of JIT (just-in-time) and AOT (ahead-of-time) compiler. Read more about this in the docs.

If you run ng serve or ng build it will use JIT by default. With the --prod flag however, AOT is used.

Try running ng serve --aot or ng serve --prod to see a more comprehensible error message. Since this is not much slower any more, I'd recommend always using the --aot flag during development. You will see problems much earlier.



来源:https://stackoverflow.com/questions/50739210/angular-5-nullinjectorerror-no-provider-for-n

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!