我正在构建一个基于angular-cli的web应用程序。我在我的chrome开发者工具控制台中有一个错误,我想现在我的代码已经解决了这个问题。但是,当我重新构建和刷新我的浏览器(甚至删除浏览器缓存)时,我仍然看到错误!
这个错误与我正在构建的外部库中导入的共享组件有关。
这就是它:
compiler.es5.js:1689 Uncaught Error: Can't resolve all parameters for AuthService: (?, [object Object]).
at syntaxError (compiler.es5.js:1689)
at CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver._getDependenciesMetadata (compiler.es5.js:15756)
at CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver._getTypeMetadata (compiler.es5.js:15624)
at CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver._getInjectableMetadata (compiler.es5.js:15610)
at CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver.getProviderMetadata (compiler.es5.js:15901)
at compiler.es5.js:15830
at Array.forEach (<anonymous>)
at CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver._getProvidersMetadata (compiler.es5.js:15790)
at compiler.es5.js:15365
at Array.forEach (<anonymous>)
当我运行ng serve --prod
时,错误消失了,我的代码运行得很好。然后,如果我在没有--prod
的情况下再次运行ng serve
,我会再次看到错误。
这快把我逼疯了。
这可能是什么原因造成的?webpack缓存了吗?如果是这样,我如何刷新才能运行我的最新代码?
提前感谢您的帮助。
发布于 2017-07-09 11:53:18
我也见过这种情况(但并不总是这样)。默认情况下,浏览器缓存包,当您使用ng serve
时,包的名称保持不变。您在ng serve -prod
中看不到此错误的原因是,每个生产构建在包名称中都有不同的散列代码,因此浏览器不使用缓存的版本。
如果你在匿名模式下运行浏览器,你应该不会有这个问题。
https://stackoverflow.com/questions/44995802
复制相似问题