Before starting this lab, you can either clone this Git repository you're looking at (
master
branch will be the starting point) or continue in the folder you created. If you clone, you will get access to all the lab branches so you cangit checkout lab-xx
if you fall behind.
In this lab we'll generate our first React application within the new monorepo.
- Get familiar with generating new apps within your workspace using the Nx CLI
-
Make sure you can run Nx commands:
- try out
nx --version
and see if it outputs a version number - install the CLI globally:
npm i -g @nrwl/cli
- if you don't want to install it globally, use
yarn nx
(if you have yarn) ornpx nx
(otherwise) instead ofnx
in all the commands in the upcoming labs
Please make sure you are using the latest version of Nx (12.6+)
- try out
- Run
nx list
to see which plugins you have installed
- Add the React plugin:
yarn add @nrwl/react
ornpm i -S @nrwl/react
- Let's also add Material UI so we can use some of their components:
yarn add @material-ui/core
ornpm i -S @material-ui/core
-
Use the
@nrwl/react
plugin to generate an React app calledstore
in your new workspace⚠️ Important: Make sure you add React Router and select SCSS as a style when asked!
-
Create a
fake-api.ts
file in your new app that returns an array of some games (you can just copy the code from here)⏳Reminder: When you are given example files to copy, the folder they're in hints to the folder and filename you can place them in when you do the copying
- Add some basic styling to your new component and display the games from the Fake API (to not spend too much time on this, you can copy it from here .tsx / .scss - and replace the full contents of the files)
-
You can get the example game images from here
⚠️ Make sure you put them in the correct folder
- Serve the app:
nx serve store
- See your app live at http://localhost:4200/
- Inspect what changed from the last time you committed, then commit your changes
Your app should look similar to the screenshot above!
Now we're starting to see some content! But the ratings also don't look that good - we'll fix those in Lab 5.
🎓 If you get stuck, check out the solution