We'll build the app we just created, and look at what executors are and how to customize them.
- Understand what a
target
andexecutor
are - Learn how to invoke executors
- Configure executors by passing them different options
- Understand how an executor can invoke another executor
-
Build the app
-
You should now have a
dist
folder - let's open it up!- This is your whole app's output! If we wanted we could push this now to a server and it would all work.
- This is your whole app's output! If we wanted we could push this now to a server and it would all work.
-
Open up
workspace.json
and look at the object underprojects/store/targets/build
- this is the target, and it has a executor option, that points to
@angular-devkit/build-angular:browser
- Remember how we copied some images into our
/assets
folder earlier? Look through the executor options and try to find how it knows to include them in the final build!
- this is the target, and it has a executor option, that points to
-
Notice the
defaultConfiguration
executor option is pointing toproduction
. This means it applies all the prod optimisations to our outputs, as per theproduction
configuration inworkspace.json
. Send a flag to the executor so that it builds for development instead.🐳 Hint
--configuration=development
-
Open up the
dist
folder again - notice how all the file names have no hashes, and the contents themselves are human readable.
-
Modify
workspace.json
and instruct the executor to import the Angular Material styles:./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css
🐳 Hint
Add it to:
"styles": ["apps/store/src/styles.css"]
🎓Notice how we can configure executors by either modifying their options in
workspace.json
(this step) or through the command line (step 4)!
-
The serve target (located a bit lower in
workspace.json
) also contains a executor, that uses the output from the build target we just changed (seeserve --> options --> browserTarget
--> it points to thebuild
target of thestore
project)- so we can just re-start
nx serve store
see the new styles you added!
- so we can just re-start
-
Inspect what changed from the last time you committed, then commit your changes
🎓If you get stuck, check out the solution