In this section, we will talk about handling multi-spa scenario with one of the libraries provided by NRWL team. An Nx workspace is pretty much same as angular cli. Main advantage of this, it supports multiple angular application in a single repo. The @nrwl/schematics scope package comes with a binary for running the schematics for generating new workspace. We can start with installing npm i -g @nrwl/schematics.
In the last section, we have understood how to use template driven forms in Angular. In this section, we will focus on how to make use of reactive forms. This approach allows user to create form in greater detail. Here, we will create the forms programmatically in TypeScript.
In the last section, we have seen how to register controls, how we can submit the form and also which properties this form has. In this section, we will extend the Forms learning from the last point. Basically, we will see start with local reference way of accessing the form. Therefore, when I mention, local reference, it means I am referring to @ViewChild() property.
In this section, we are going to talk about dynamically importing modules and its related components. Say for instance, your CORE SPA is hosted on one server. And different teams are basically building different features as modules, which needs to be injected as part dependency injection. Idea is keeping Core part leaner and meaner. Then how could we achieve the same. In the last post, we have seen similar kind of post, where in we injected modules dynamically but, module was known at compile time as we have used webpack’s import which basically takes path to module as input parameter. In this case, module’s can be injected by reading some kind of metadata coming from somewhere. Hence, you can have get some JSON files with some metadata say what modules’ and related dependencies to load. Then, it will load accordingly
In this section, we are going to see, how to dynamically import modules and other related components. In enterprise apps, there might be a scenario, where in you end up loading the modules based on some metadata, say which is coming from some REST call may be. In those scenarios, this kind of implementation is needed. We will discuss Lazy Loading in detail when we talk about those scenarios. However, let’s look at the code where we lazy load modules with all its dependencies.
In this section, we are going to continue from the last section and will get started with Child Routes aka Nested Routes. Nested routes is the concept of containing routes within other routes. With nested routes we’re able to encapsulate the functionality of parent routes and have that functionality apply to the child routes. This is one of the nice ways to isolate different functional areas. Otherwise, imagine your base routes will grow like anything. I have configured the routes in such a way that all reviews now sit under location. Below, I have pasted modified structure of app.