设置:
最近我使用 Ngrx 添加了状态管理工作,当我添加 EffectsModule 时,我收到此错误:
错误:NG0203:inject() 必须从注入上下文调用,例如构造函数、工厂函数、字段初始值设定项或与
使用的函数。EnvironmentInjector#runInContext
将 EffectsModule 添加到app.module.ts
的导入(第 36 行)时开始出现问题我将继续对此进行研究,并感谢任何想法或见解。根据这篇文章 (1),该错误似乎是通用的。我对如何追寻这一点的想法持开放态度。
复制环境所需的回购分支:
我遇到过的其他SO文章:
导致错误更改为:NullInjectorError:NullInjectorError:没有Store提供程序!
最新:
我怀疑由 openapitools/openapi-generator-cli 生成的打字稿在包含 ngrx 工作时不再足够。我确实在 生成器列表 中找到了 typescript-angular 生成器,并将尝试一下...
问题可能出在几个方面。具体来说,正确设置模块。 这篇文章很有用,指出我没有正确设置和引用 API 包。
特别是“使用示例”标题下的部分,其中代码显示如下:
import { PostsService } from './core/api/v1';
因此,我在运行 openapi-generator 时更改了输出 arg 的路径。我没有使用
npm link
,而是直接引用了输出。
我在 Chrome 控制台日志中遇到了同样的错误。我创建了一个角度库并将其导入到现有的角度应用程序中。我使用
npm install C:/...dist/myapp
来安装库。
我的应用程序在 angular.json 中丢失:
projects/myapp/architect/build/options/preserveSymlinks: true
将preserveSymlinks更改为true后,重新安装,我不再遇到上述错误。
// Import your router with inject function :
const router = inject(Router) ;