如何在控制台中访问 ngrx 存储?

Jam*_*der 5 angular ngrx-store

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

Mat*_*icz 3

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

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

  @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));
        };
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述