问题描述: 在使用Angular 9的IVY懒加载组件时,出现了R3InjectorError(AppBrowserModule)[InjectionToken angularfire2.app.options]错误。
解决方法: 该错误表示在加载AngularFireMessagingModule时,发生了注入错误。可能是由于AngularFire2版本不兼容或配置错误导致的。
以下是可能的解决方法:
确保使用的AngularFire2版本与Angular版本兼容。请确保使用的AngularFire2版本与Angular 9兼容,并且已经安装了正确的版本。
检查AngularFire2的配置。在AngularFire2的配置中,确保已正确设置了angularfire2.app.options。比如:
import { AngularFireModule } from 'angularfire2';
import { AngularFireMessagingModule } from '@angular/fire/messaging';
const firebaseConfig = {
// your firebase config
};
const messagingConfig = {
// your messaging config
};
@NgModule({
imports: [
// other imports
AngularFireModule.initializeApp(firebaseConfig),
AngularFireMessagingModule,
],
// other configurations
})
export class AppBrowserModule { }
确保firebaseConfig和messagingConfig的值正确配置。
更新AngularFire2。如果使用的AngularFire2版本较旧,尝试将其更新到最新版本,以兼容Angular 9。
检查其他可能的依赖项。如果项目中有其他依赖项与AngularFire2冲突,尝试解决冲突或更新这些依赖项。
尝试以上方法后,重新编译并运行项目,看看问题是否解决。如果问题仍然存在,请进一步检查错误消息中提到的其他详细信息,以及其他可能的相关配置或代码问题。