Angular2 ng build --prod 打包之后 报 No provider for t 和DI error?
什么原因
vendor.a4f2937d198a01d8de37.bundle.js:1 EXCEPTION: No provider for t!
t.handleError @ vendor.a4f2937d198a01d8de37.bundle.js:1
vendor.a4f2937d198a01d8de37.bundle.js:1 ORIGINAL STACKTRACE:
t.handleError @ vendor.a4f2937d198a01d8de37.bundle.js:1
vendor.a4f2937d198a01d8de37.bundle.js:1 Error: DI Error
at e.Q (polyfills.5b826f1d9b2e8aaeb704.bundle.js:1)
at e [as constructor] (vendor.a4f2937d198a01d8de37.bundle.js:1)
at e [as constructor] (vendor.a4f2937d198a01d8de37.bundle.js:1)
at new e (vendor.a4f2937d198a01d8de37.bundle.js:1)
at t._throwOrNull (vendor.a4f2937d198a01d8de37.bundle.js:1)
at t._getByKeyDefault (vendor.a4f2937d198a01d8de37.bundle.js:1)
at t._getByKey (vendor.a4f2937d198a01d8de37.bundle.js:1)
at t.get (vendor.a4f2937d198a01d8de37.bundle.js:1)
at t.get [as _CookieService_61] (main.21f8a24b0cd766378077.bundle.js:1)
at t.getInternal (main.21f8a24b0cd766378077.bundle.js:1)
at t.e.get (vendor.a4f2937d198a01d8de37.bundle.js:1)
at t.injectorGet (vendor.a4f2937d198a01d8de37.bundle.js:1)
at t.createInternal (main.21f8a24b0cd766378077.bundle.js:1)
at t.createHostView (vendor.a4f2937d198a01d8de37.bundle.js:1)
at t.create (vendor.a4f2937d198a01d8de37.bundle.js:1)
t.handleError @ vendor.a4f2937d198a01d8de37.bundle.js:1
vendor.a4f2937d198a01d8de37.bundle.js:1 EXCEPTION: Uncaught (in promise): Error: DI Error
Error: DI Error
at e.Q (http://localhost:6611/polyfills.5b826f1d9b2e8aaeb704.bundle.js:1:52064)
at e [as constructor] (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:575972)
at e [as constructor] (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:521461)
at new e (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:521792)
at t._throwOrNull (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:447766)
at t._getByKeyDefault (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:448104)
at t._getByKey (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:447485)
at t.get (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:445852)
at t.get [as _CookieService_61] (http://localhost:6611/main.21f8a24b0cd766378077.bundle.js:1:785802)
at t.getInternal (http://localhost:6611/main.21f8a24b0cd766378077.bundle.js:1:789013)
at t.e.get (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:476278)
at t.injectorGet (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:201539)
at t.createInternal (http://localhost:6611/main.21f8a24b0cd766378077.bundle.js:1:760283)
at t.createHostView (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:201074)
at t.create (http://localhost:6611/vendor.a4f2937d198a01d8de37.bundle.js:1:565259)****
内存溢出了,请看代码。
运行ng serve -aot我能够找到丢失的类是什么,因为它运行aot而不运行minify/uglify。
一旦我完成了这个操作,我就能够查看错误上下文来确定哪些组件存在问题。
转到所述组件并开始删除构造函数中的引用(在该构造函数中发生依赖关系解析)。
在我的例子中,我在/core模块中使用在类遇到了问题。一旦从构造函数和reran编译中删除了引用,它就像一个魅力一样,然后使用ng serve -prod确认这一点也是固定的。
我发现了一个原因是,我必须显式地杀死角cli和重建。出于某种原因,当我修改一行并保存时,它说它重新编译并仍然被破坏。只有当我杀死它并运行命令时,我才发现它确实是固定的。
error_handler.js:54 EXCEPTION: No provider for CookieOptions!
ErrorHandler.handleError @ error_handler.js:54
(anonymous) @ application_ref.js:261
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
(anonymous) @ zone.js:713
ZoneDelegate.invokeTask @ zone.js:367
onInvokeTask @ ng_zone.js:264
ZoneDelegate.invokeTask @ zone.js:366
Zone.runTask @ zone.js:166
drainMicroTaskQueue @ zone.js:546
Promise resolved (async)
scheduleQueueDrain @ zone.js:505
scheduleMicroTask @ zone.js:513
ZoneDelegate.scheduleTask @ zone.js:356
onScheduleTask @ zone.js:241
ZoneDelegate.scheduleTask @ zone.js:347
Zone.scheduleTask @ zone.js:196
Zone.scheduleMicroTask @ zone.js:207
scheduleResolveOrReject @ zone.js:711
ZoneAwarePromise.then @ zone.js:800
RouterInitializer.appInitializer @ router_module.js:305
ApplicationInitStatus @ application_init.js:30
AppModuleInjector.createInternal @ app.module.ngfactory.ts:409
NgModuleInjector.create @ ng_module_factory.js:123
NgModuleFactory.create @ ng_module_factory.js:91
(anonymous) @ application_ref.js:342
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
NgZone.run @ ng_zone.js:142
PlatformRef_._bootstrapModuleFactoryWithZone @ application_ref.js:340
PlatformRef_.bootstrapModuleFactory @ application_ref.js:323
(anonymous) @ main.ts:10
./src/main.ts @ main.bundle.js:389
webpack_require @ inline.bundle.js:55
0 @ main.bundle.js:573
webpack_require @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1
error_handler.js:59 ORIGINAL STACKTRACE:
ErrorHandler.handleError @ error_handler.js:59
(anonymous) @ application_ref.js:261
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
(anonymous) @ zone.js:713
ZoneDelegate.invokeTask @ zone.js:367
onInvokeTask @ ng_zone.js:264
ZoneDelegate.invokeTask @ zone.js:366
Zone.runTask @ zone.js:166
drainMicroTaskQueue @ zone.js:546
Promise resolved (async)
scheduleQueueDrain @ zone.js:505
scheduleMicroTask @ zone.js:513
ZoneDelegate.scheduleTask @ zone.js:356
onScheduleTask @ zone.js:241
ZoneDelegate.scheduleTask @ zone.js:347
Zone.scheduleTask @ zone.js:196
Zone.scheduleMicroTask @ zone.js:207
scheduleResolveOrReject @ zone.js:711
ZoneAwarePromise.then @ zone.js:800
RouterInitializer.appInitializer @ router_module.js:305
ApplicationInitStatus @ application_init.js:30
AppModuleInjector.createInternal @ app.module.ngfactory.ts:409
NgModuleInjector.create @ ng_module_factory.js:123
NgModuleFactory.create @ ng_module_factory.js:91
(anonymous) @ application_ref.js:342
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
NgZone.run @ ng_zone.js:142
PlatformRef_._bootstrapModuleFactoryWithZone @ application_ref.js:340
PlatformRef_.bootstrapModuleFactory @ application_ref.js:323
(anonymous) @ main.ts:10
./src/main.ts @ main.bundle.js:389
webpack_require @ inline.bundle.js:55
0 @ main.bundle.js:573
webpack_require @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1
error_handler.js:60 Error: DI Error
at NoProviderError.ZoneAwareError (zone.js:992)
at NoProviderError.BaseError as constructor
at NoProviderError.AbstractProviderError as constructor
at new NoProviderError (reflective_errors.js:116)
at ReflectiveInjector_._throwOrNull (reflective_injector.js:485)
at ReflectiveInjector_._getByKeyDefault (reflective_injector.js:524)
at ReflectiveInjector_._getByKey (reflective_injector.js:456)
at ReflectiveInjector_.get (reflective_injector.js:325)
at AppModuleInjector.get as _CookieService_61
at AppModuleInjector.getInternal (app.module.ngfactory.ts:480)
at AppModuleInjector.NgModuleInjector.get (ng_module_factory.js:139)
at View_AppComponent_Host0.AppView.injectorGet (view.js:152)
at View_AppComponent_Host0.createInternal (app.component.ngfactory.ts:77)
at View_AppComponent_Host0.AppView.createHostView (view.js:108)
at ComponentFactory.create (component_factory.js:202)
ErrorHandler.handleError @ error_handler.js:60
(anonymous) @ application_ref.js:261
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
(anonymous) @ zone.js:713
ZoneDelegate.invokeTask @ zone.js:367
onInvokeTask @ ng_zone.js:264
ZoneDelegate.invokeTask @ zone.js:366
Zone.runTask @ zone.js:166
drainMicroTaskQueue @ zone.js:546
Promise resolved (async)
scheduleQueueDrain @ zone.js:505
scheduleMicroTask @ zone.js:513
ZoneDelegate.scheduleTask @ zone.js:356
onScheduleTask @ zone.js:241
ZoneDelegate.scheduleTask @ zone.js:347
Zone.scheduleTask @ zone.js:196
Zone.scheduleMicroTask @ zone.js:207
scheduleResolveOrReject @ zone.js:711
ZoneAwarePromise.then @ zone.js:800
RouterInitializer.appInitializer @ router_module.js:305
ApplicationInitStatus @ application_init.js:30
AppModuleInjector.createInternal @ app.module.ngfactory.ts:409
NgModuleInjector.create @ ng_module_factory.js:123
NgModuleFactory.create @ ng_module_factory.js:91
(anonymous) @ application_ref.js:342
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
NgZone.run @ ng_zone.js:142
PlatformRef_._bootstrapModuleFactoryWithZone @ application_ref.js:340
PlatformRef_.bootstrapModuleFactory @ application_ref.js:323
(anonymous) @ main.ts:10
./src/main.ts @ main.bundle.js:389
webpack_require @ inline.bundle.js:55
0 @ main.bundle.js:573
webpack_require @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1
error_handler.js:54 EXCEPTION: Uncaught (in promise): Error: DI Error
Error: DI Error
at NoProviderError.ZoneAwareError (webpack-internal:///./node_modules/zone.js/dist/zone.js:992:33)
at NoProviderError.BaseError as constructor
at NoProviderError.AbstractProviderError as constructor
at new NoProviderError (webpack-internal:///./node_modules/@angular/core/src/di/reflective_errors.js:126:16)
at ReflectiveInjector_._throwOrNull (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:492:19)
at ReflectiveInjector_._getByKeyDefault (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:531:25)
at ReflectiveInjector_._getByKey (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:463:25)
at ReflectiveInjector_.get (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:332:21)
at AppModuleInjector.get as _CookieService_61
at AppModuleInjector.getInternal (webpack-internal:///./src/$$_gendir/app/app.module.ngfactory.ts:793:25)
at AppModuleInjector.NgModuleInjector.get (webpack-internal:///./node_modules/@angular/core/src/linker/ng_module_factory.js:146:44)
at View_AppComponent_Host0.AppView.injectorGet (webpack-internal:///./node_modules/@angular/core/src/linker/view.js:166:45)
at View_AppComponent_Host0.createInternal (webpack-internal:///./src/$$_gendir/app/app.component.ngfactory.ts:80:166)
at View_AppComponent_Host0.AppView.createHostView (webpack-internal:///./node_modules/@angular/core/src/linker/view.js:122:21)
at ComponentFactory.create (webpack-internal:///./node_modules/@angular/core/src/linker/component_factory.js:208:25)
ErrorHandler.handleError @ error_handler.js:54
next @ application_ref.js:348
schedulerFn @ async.js:93
SafeSubscriber.__tryOrUnsub @ Subscriber.js:239
SafeSubscriber.next @ Subscriber.js:186
Subscriber._next @ Subscriber.js:127
Subscriber.next @ Subscriber.js:91
Subject.next @ Subject.js:56
EventEmitter.emit @ async.js:79
NgZone.triggerError @ ng_zone.js:333
onHandleError @ ng_zone.js:294
ZoneDelegate.handleError @ zone.js:338
Zone.runGuarded @ zone.js:142
loop_1 @ zone.js:557
drainMicroTaskQueue @ zone.js:566
Promise resolved (async)
scheduleQueueDrain @ zone.js:505
scheduleMicroTask @ zone.js:513
ZoneDelegate.scheduleTask @ zone.js:356
onScheduleTask @ zone.js:241
ZoneDelegate.scheduleTask @ zone.js:347
Zone.scheduleTask @ zone.js:196
Zone.scheduleMicroTask @ zone.js:207
scheduleResolveOrReject @ zone.js:711
ZoneAwarePromise.then @ zone.js:800
RouterInitializer.appInitializer @ router_module.js:305
ApplicationInitStatus @ application_init.js:30
AppModuleInjector.createInternal @ app.module.ngfactory.ts:409
NgModuleInjector.create @ ng_module_factory.js:123
NgModuleFactory.create @ ng_module_factory.js:91
(anonymous) @ application_ref.js:342
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
NgZone.run @ ng_zone.js:142
PlatformRef._bootstrapModuleFactoryWithZone @ application_ref.js:340
PlatformRef_.bootstrapModuleFactory @ application_ref.js:323
(anonymous) @ main.ts:10
./src/main.ts @ main.bundle.js:389
webpack_require @ inline.bundle.js:55
0 @ main.bundle.js:573
webpack_require @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1
error_handler.js:59 ORIGINAL STACKTRACE:
ErrorHandler.handleError @ error_handler.js:59
next @ application_ref.js:348
schedulerFn @ async.js:93
SafeSubscriber.__tryOrUnsub @ Subscriber.js:239
SafeSubscriber.next @ Subscriber.js:186
Subscriber._next @ Subscriber.js:127
Subscriber.next @ Subscriber.js:91
Subject.next @ Subject.js:56
EventEmitter.emit @ async.js:79
NgZone.triggerError @ ng_zone.js:333
onHandleError @ ng_zone.js:294
ZoneDelegate.handleError @ zone.js:338
Zone.runGuarded @ zone.js:142
loop_1 @ zone.js:557
drainMicroTaskQueue @ zone.js:566
Promise resolved (async)
scheduleQueueDrain @ zone.js:505
scheduleMicroTask @ zone.js:513
ZoneDelegate.scheduleTask @ zone.js:356
onScheduleTask @ zone.js:241
ZoneDelegate.scheduleTask @ zone.js:347
Zone.scheduleTask @ zone.js:196
Zone.scheduleMicroTask @ zone.js:207
scheduleResolveOrReject @ zone.js:711
ZoneAwarePromise.then @ zone.js:800
RouterInitializer.appInitializer @ router_module.js:305
ApplicationInitStatus @ application_init.js:30
AppModuleInjector.createInternal @ app.module.ngfactory.ts:409
NgModuleInjector.create @ ng_module_factory.js:123
NgModuleFactory.create @ ng_module_factory.js:91
(anonymous) @ application_ref.js:342
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
NgZone.run @ ng_zone.js:142
PlatformRef._bootstrapModuleFactoryWithZone @ application_ref.js:340
PlatformRef_.bootstrapModuleFactory @ application_ref.js:323
(anonymous) @ main.ts:10
./src/main.ts @ main.bundle.js:389
webpack_require @ inline.bundle.js:55
0 @ main.bundle.js:573
webpack_require @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1
error_handler.js:60 Error: Uncaught (in promise): Error: DI Error
Error: DI Error
at NoProviderError.ZoneAwareError (webpack-internal:///./node_modules/zone.js/dist/zone.js:992:33)
at NoProviderError.BaseError as constructor
at NoProviderError.AbstractProviderError as constructor
at new NoProviderError (webpack-internal:///./node_modules/@angular/core/src/di/reflective_errors.js:126:16)
at ReflectiveInjector_._throwOrNull (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:492:19)
at ReflectiveInjector_._getByKeyDefault (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:531:25)
at ReflectiveInjector_._getByKey (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:463:25)
at ReflectiveInjector_.get (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:332:21)
at AppModuleInjector.get as _CookieService_61
at AppModuleInjector.getInternal (webpack-internal:///./src/$$_gendir/app/app.module.ngfactory.ts:793:25)
at AppModuleInjector.NgModuleInjector.get (webpack-internal:///./node_modules/@angular/core/src/linker/ng_module_factory.js:146:44)
at View_AppComponent_Host0.AppView.injectorGet (webpack-internal:///./node_modules/@angular/core/src/linker/view.js:166:45)
at View_AppComponent_Host0.createInternal (webpack-internal:///./src/$$_gendir/app/app.component.ngfactory.ts:80:166)
at View_AppComponent_Host0.AppView.createHostView (webpack-internal:///./node_modules/@angular/core/src/linker/view.js:122:21)
at ComponentFactory.create (webpack-internal:///./node_modules/@angular/core/src/linker/component_factory.js:208:25)
at resolvePromise (webpack-internal:///./node_modules/zone.js/dist/zone.js:665:31) [angular]
at eval (webpack-internal:///./node_modules/zone.js/dist/zone.js:716:17) [angular]
at Object.onInvokeTask (webpack-internal:///./node_modules/@angular/core/src/zone/ng_zone.js:267:37) [angular]
at ZoneDelegate.invokeTask (webpack-internal:///./node_modules/zone.js/dist/zone.js:366:36) [angular]
at Zone.runTask (webpack-internal:///./node_modules/zone.js/dist/zone.js:166:47) [ => angular]
at drainMicroTaskQueue (webpack-internal:///./node_modules/zone.js/dist/zone.js:546:35) []
at []
ErrorHandler.handleError @ error_handler.js:60
next @ application_ref.js:348
schedulerFn @ async.js:93
SafeSubscriber.__tryOrUnsub @ Subscriber.js:239
SafeSubscriber.next @ Subscriber.js:186
Subscriber._next @ Subscriber.js:127
Subscriber.next @ Subscriber.js:91
Subject.next @ Subject.js:56
EventEmitter.emit @ async.js:79
NgZone.triggerError @ ng_zone.js:333
onHandleError @ ng_zone.js:294
ZoneDelegate.handleError @ zone.js:338
Zone.runGuarded @ zone.js:142
loop_1 @ zone.js:557
drainMicroTaskQueue @ zone.js:566
Promise resolved (async)
scheduleQueueDrain @ zone.js:505
scheduleMicroTask @ zone.js:513
ZoneDelegate.scheduleTask @ zone.js:356
onScheduleTask @ zone.js:241
ZoneDelegate.scheduleTask @ zone.js:347
Zone.scheduleTask @ zone.js:196
Zone.scheduleMicroTask @ zone.js:207
scheduleResolveOrReject @ zone.js:711
ZoneAwarePromise.then @ zone.js:800
RouterInitializer.appInitializer @ router_module.js:305
ApplicationInitStatus @ application_init.js:30
AppModuleInjector.createInternal @ app.module.ngfactory.ts:409
NgModuleInjector.create @ ng_module_factory.js:123
NgModuleFactory.create @ ng_module_factory.js:91
(anonymous) @ application_ref.js:342
ZoneDelegate.invoke @ zone.js:334
onInvoke @ ng_zone.js:273
ZoneDelegate.invoke @ zone.js:333
Zone.run @ zone.js:126
NgZone.run @ ng_zone.js:142
PlatformRef._bootstrapModuleFactoryWithZone @ application_ref.js:340
PlatformRef_.bootstrapModuleFactory @ application_ref.js:323
(anonymous) @ main.ts:10
./src/main.ts @ main.bundle.js:389
webpack_require @ inline.bundle.js:55
0 @ main.bundle.js:573
webpack_require @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1
zone.js:522 Unhandled Promise rejection: No provider for CookieOptions! ; Zone: angular ; Task: Promise.then ; Value: NoProviderError {__zone_symbol__error: Error: DI Error
at NoProviderError.ZoneAwareError (webpack-internal:///./node_modules/zone.js/di…, …} Error: DI Error
at NoProviderError.ZoneAwareError (webpack-internal:///./node_modules/zone.js/dist/zone.js:992:33)
at NoProviderError.BaseError as constructor
at NoProviderError.AbstractProviderError as constructor
at new NoProviderError (webpack-internal:///./node_modules/@angular/core/src/di/reflective_errors.js:126:16)
at ReflectiveInjector_._throwOrNull (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:492:19)
at ReflectiveInjector_._getByKeyDefault (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:531:25)
at ReflectiveInjector_._getByKey (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:463:25)
at ReflectiveInjector_.get (webpack-internal:///./node_modules/@angular/core/src/di/reflective_injector.js:332:21)
at AppModuleInjector.get as _CookieService_61
at AppModuleInjector.getInternal (webpack-internal:///./src/$$_gendir/app/app.module.ngfactory.ts:793:25)
at AppModuleInjector.NgModuleInjector.get (webpack-internal:///./node_modules/@angular/core/src/linker/ng_module_factory.js:146:44)
at View_AppComponent_Host0.AppView.injectorGet (webpack-internal:///./node_modules/@angular/core/src/linker/view.js:166:45)
at View_AppComponent_Host0.createInternal (webpack-internal:///./src/$$_gendir/app/app.component.ngfactory.ts:80:166)
at View_AppComponent_Host0.AppView.createHostView (webpack-internal:///./node_modules/@angular/core/src/linker/view.js:122:21)
at ComponentFactory.create (webpack-internal:///./node_modules/@angular/core/src/linker/component_factory.js:208:25)