# Create a new project Use the `ng new` command to start creating your **Tour of Heroes** application. This tutorial: 1. Sets up your environment. 2. Creates a new workspace and initial application project. 3. Serves the application. 4. Makes changes to the new application.
To view the application's code, see the .
## Set up your environment To set up your development environment, follow the instructions in [Local Environment Setup](guide/setup-local "Setting up for Local Development"). ## Create a new workspace and an initial application You develop applications in the context of an Angular [workspace](guide/glossary#workspace). A *workspace* contains the files for one or more [projects](guide/glossary#project). A *project* is the set of files that make up an application or a library. To create a new workspace and an initial project: 1. Ensure that you aren't already in an Angular workspace directory. For example, if you're in the Getting Started workspace from an earlier exercise, navigate to its parent. 2. Run `ng new` followed by the application name as shown here: ng new angular-tour-of-heroes 3. `ng new` prompts you for information about features to include in the initial project. Accept the defaults by pressing the Enter or Return key. `ng new` installs the necessary `npm` packages and other dependencies that Angular requires. This can take a few minutes. `ng new` also creates the following workspace and starter project files: * A new workspace, with a root directory named `angular-tour-of-heroes` * An initial skeleton application project in the `src/app` subdirectory * Related configuration files The initial application project contains a simple application that's ready to run. ## Serve the application Go to the workspace directory and launch the application. cd angular-tour-of-heroes ng serve --open
The `ng serve` command: * Builds the application * Starts the development server * Watches the source files * Rebuilds the application as you make changes The `--open` flag opens a browser to `http://localhost:4200`.
You should see the application running in your browser. ## Angular components The page you see is the *application shell*. The shell is controlled by an Angular **component** named `AppComponent`. *Components* are the fundamental building blocks of Angular applications. They display data on the screen, listen for user input, and take action based on that input. ## Make changes to the application Open the project in your favorite editor or IDE. Navigate to the `src/app` directory to edit the starter application. In the IDE, locate these files, which make up the `AppComponent` that you just created: | Files | Details | |:--- |:--- | | `app.component.ts` | The component class code, written in TypeScript. | | `app.component.html` | The component template, written in HTML. | | `app.component.css` | The component's private CSS styles. |
When you ran `ng new`, Angular created test specifications for your new application. Unfortunately, making these changes breaks your newly created specifications. That won't be a problem because Angular testing is outside the scope of this tutorial and won't be used. To learn more about testing with Angular, see [Testing](guide/testing).
### Change the application title Open the `app.component.ts` and change the `title` property value to 'Tour of Heroes'. Open `app.component.html` and delete the default template that `ng new` created. Replace it with the following line of HTML. The double curly braces are Angular's *interpolation binding* syntax. This interpolation binding presents the component's `title` property value inside the HTML header tag. The browser refreshes and displays the new application title. ### Add application styles Most apps strive for a consistent look across the application. `ng new` created an empty `styles.css` for this purpose. Put your application-wide styles there. Open `src/styles.css` and add the code below to the file. ## Final code review Here are the code files discussed on this page. ## Summary * You created the initial application structure using `ng new`. * You learned that Angular components display data * You used the double curly braces of interpolation to display the application title @reviewed 2022-02-28