Reputation: 3681
The setup:
Recently I added the state manage work using Ngrx and when I add the EffectsModule I get this error:
Error: NG0203: inject() must be called from an injection context such as a constructor, a factory function, a field initializer, or a function used with
EnvironmentInjector#runInContext
.
Issue began when adding EffectsModule to import (line 36) of app.module.ts
I continue my research of this, and would appreciate any thoughts or insights. Based on this SO article (1) the error appears generic. I am open to ideas of how to chase this down.
Repo branches necessary to replicate environment:
Other SO articles I have come across:
Causes error to change to: NullInjectorError: NullInjectorError: No provider for Store!
LATEST:
I suspected that the typescript being generated by the openapitools/openapi-generator-cli is no longer sufficient whilst including the ngrx work. I did find the typescript-angular generator in the list of generator and will give this a try...
Upvotes: 1
Views: 8867
Reputation: 29
// Import your router with inject function :
const router = inject(Router) ;
Upvotes: -1
Reputation: 103
I had the same error in the Chrome console logs. I had an angular library I created and imported it into an existing angular app. I was using npm install C:/...dist/myapp
to install the library.
My app was missing in the angular.json:
projects/myapp/architect/build/options/preserveSymlinks: true
After changing preserveSymlinks to true, reinstalling, I no longer had the mentioned error.
Upvotes: 3
Reputation: 3681
The issue was likely a few things. Specifically, setting up the module correctly. This article was useful in pointing out that I had not setup and referenced the API package correctly.
Specifically the part under heading "Usage example" where code shows like:
import { PostsService } from './core/api/v1';
Therefore, I change the path to my output arg when running the openapi-generator. Instead of using npm link
I referenced the output directly.
Upvotes: 2