Skip to content

Latest commit

 

History

History
68 lines (44 loc) · 2.28 KB

LAB.md

File metadata and controls

68 lines (44 loc) · 2.28 KB

💻 Lab 3 - Executors

⏰  Estimated time: 5-15 minutes

We'll build the app we just created, and look at what executors are and how to customize them.

📚 Learning outcomes:

  • Understand what a target and executor are
  • Invoking executors
  • Configure executors by passing them different options
  • Understand how an executor can invoke another executor

📲 After this workshop, you should have:

App Screenshot screenshot of lab3 result
File structure lab3 file structure

🏋️‍♀️ Steps:

  1. Build the app

    🐳   Hint Nx executor command structure

  2. 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.
    • Open one of the files, for example main.js and look at it's contents

  1. Open up workspace.json and look at the object under projects/store/targets/build

    • this is the target, and it has an executor option, that points to @nrwl/web:build
    • 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!

  1. Send a flag to the executor so that it builds for production

    🐳   Hint

    --configuration=production


  2. Open up the dist folder again - notice how we now generated a 3rdpartylicenses.txt file, as per the "production" configuration in workspace.json. Also notice how all filenames have hashed suffixes. Open one of the files, for example main.{hash}.js. Notice how its content is now different.


  1. The serve target (located a bit lower in workspace.json) also contains a executor, that uses the output from the build target


🎓  If you get stuck, check out the solution


➡️  Next lab ➡️