You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Angular 5后出现依赖注入错误:No provider for NgReduxRouter

解决Angular 5升级后NgReduxRouter的NullInjectorError问题

我来帮你一步步搞定这个升级后遇到的Redux路由依赖注入错误:

  • 第一步:确认依赖包已安装
    首先得确保你已经装了@angular-redux/router,毕竟NgReduxRouter是这个包的核心服务。如果还没安装,在项目根目录运行:

    npm install @angular-redux/router --save
    
  • 第二步:在AppModule里正确配置
    打开app.module.ts,需要同时导入并配置NgReduxRouterModule和NgReduxRouter服务:

    import { NgModule } from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { StoreModule } from '@angular-redux/store';
    import { NgReduxRouterModule, NgReduxRouter } from '@angular-redux/router';
    import { rootReducer } from './store/reducers';
    import { AppComponent } from './app.component';
    
    @NgModule({
      declarations: [AppComponent],
      imports: [
        BrowserModule,
        StoreModule.forRoot(rootReducer),
        // 初始化路由Redux模块
        NgReduxRouterModule.forRoot()
      ],
      // 手动把NgReduxRouter加入提供者数组
      providers: [NgReduxRouter],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    
  • 第三步:完成路由与Redux的绑定初始化
    在根组件(比如app.component.ts)或者专门的Store初始化服务里,调用NgReduxRouter的initialize()方法,让路由状态和Redux store同步起来:

    import { Component } from '@angular/core';
    import { NgRedux } from '@angular-redux/store';
    import { NgReduxRouter } from '@angular-redux/router';
    import { IAppState } from './store/state';
    import { rootReducer } from './store/reducers';
    
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html'
    })
    export class AppComponent {
      constructor(
        private ngRedux: NgRedux<IAppState>,
        private ngReduxRouter: NgReduxRouter
      ) {
        // 初始化Redux store
        this.ngRedux.provideStore(rootReducer);
        // 绑定路由状态到Redux
        this.ngReduxRouter.initialize();
      }
    }
    

这个错误的核心原因是:在Angular 5和Angular-Redux 7.x的搭配中,NgReduxRouter服务不再自动注册到依赖注入系统里,必须手动添加到模块的providers数组,同时要确保路由模块完成初始化配置。

内容的提问来源于stack exchange,提问作者Taladan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:03:21