1. 1
    Use the Angular CLI to Add NgRx to Your Project
    3m 6s
⚠️ This lesson is retired and might contain outdated information.

Use the Angular CLI to Add NgRx to Your Project

Sam Julien
InstructorSam Julien
Share this video with your friends

Social Share Links

Send Tweet
Published 4 years ago
Updated 2 years ago

In this lesson, we see how to use the Angular CLI's ng add command to add NgRx to a project. Check out the official docs to learn more.

Instructor: [0:00] We've got a simple Angular CLI application here. We want to be able to add ngrx to this application so we can add some state management to our to-dos here.

[0:12] To do that, there's a few different ways we could do it. We could either use regular old npm install and do the @ngrx/store package and add --save. That works fine.

[0:25] We could also do the same thing with yarn. I could say yarn add @ngrx/store. We want to use the ngrx/store package, the base package for ngrx, just for adding state management. We can actually do something a little bit better with the Angular CLI because we can do ng add with ngrx/store.

[0:48] This will not only install all of the packages that we need, but it will also do some setup for us. There's a bunch of different flags we could pass into it, but it's hard to understand what they do until you see what the base default command does. Let's run ng add @ngrx/store and see what happens.

[1:08] We can see that it's installing the ngrx/store package. After it does that, it does a little bit of extra work. Let's open up package.json and close the terminal for a second. You can see that it added ngrx/store to our dependencies, but it did a couple of extra things for us.

[1:30] First of all, it added this reducers folder with index.ts. Inside of index.ts, it imports a bunch of stuff for us from ngrx/store. It adds an empty state for us as our base reducers and meta-reducers. It then also adds ngrx to our app module.

[1:53] We have an import here of those reducers and meta-reducer we just saw, as well as the store module. It adds that store module for the root of our application and includes the reducers and the meta-reducers, as well as some default run time checks to make sure that we are enforcing some strict immutability.

[2:15] All of these things can be overridden with flags in the CLI. For example, if we didn't like that the reducers were in that reducers folder when we added ngrx/store, we could add something like state path and pass in a different path, maybe something like state, and that would change that folder.

[2:39] Likewise, if we didn't want it to do any of that extra setup for us, we could pass in a minimal flag that would only do the minimal setup. It would basically only register that store module for root that we see here, but it wouldn't set up anything else for us.

[2:57] There are several different flags I highly recommend you go and check out the docs, but that's the basics of the ng add command.

egghead
egghead
~ 31 minutes ago

Member comments are a way for members to communicate, interact, and ask questions about a lesson.

The instructor or someone from the community might respond to your question Here are a few basic guidelines to commenting on egghead.io

Be on-Topic

Comments are for discussing a lesson. If you're having a general issue with the website functionality, please contact us at support@egghead.io.

Avoid meta-discussion

  • This was great!
  • This was horrible!
  • I didn't like this because it didn't match my skill level.
  • +1 It will likely be deleted as spam.

Code Problems?

Should be accompanied by code! Codesandbox or Stackblitz provide a way to share code and discuss it in context

Details and Context

Vague question? Vague answer. Any details and context you can provide will lure more interesting answers!

Markdown supported.
Become a member to join the discussionEnroll Today