如何在控制台中访问 ngrx 商店?

How can I access the ngrx store in the console?

我知道这有点禁忌,但在我的浏览器控制台中,如何访问 ngrx redux 商店? redux 工具显然可以做到,但我只想能够通过控制台检查它。它是全球性的吗?如果有,它的名字是什么?谢谢。

我认为(并希望)如果没有在应用程序中明确暴露,它将无法工作。

您可以创建一个全局可用的函数来读取当前状态并将其显示在控制台中。像这样:

  @NgModule({
    declarations: [...],
    imports: [...],
    bootstrap: [...],
  })
  export class AppModule {
    public constructor(private store: Store<unknown>) {
      this.exposeStoreToGlobal();
    }

    public exposeStoreToGlobal() {
      if (!environment.production) {
        globalThis.showStoreSnapshot = () => {
          this.store.pipe(first()).subscribe((snapshot) => console.log(snapshot));
        };
      }
    }
  }

然后您只需在控制台中调用它即可: