You begin by creating an initial application using the Angular CLI. Throughout this tutorial, you’ll modify and extend that starter application to create the Tour of Heroes app.
In this part of the tutorial, you'll do the following:
For the sample app that this page describes, see the live example.
To set up your development environment, follow the instructions in Local Environment Setup.
You develop apps in the context of an Angular workspace. A workspace contains the files for one or more projects. A project is the set of files that comprise an app, a library, or end-to-end (e2e) tests. For this tutorial, you will create a new workspace.
To create a new workspace and an initial app project:
Ensure that you are not already in an Angular workspace folder. For example, if you have previously created the Getting Started workspace, change to the parent of that folder.
Run the CLI command ng new
and provide the name angular-tour-of-heroes
, as shown here:
ng new angular-tour-of-heroes
The ng new
command prompts you for information about features to include in the initial app project. Accept the defaults by pressing the Enter or Return key.
The Angular CLI installs the necessary Angular npm
packages and other dependencies. This can take a few minutes.
It also creates the following workspace and starter project files:
angular-tour-of-heroes
.angular-tour-of-heroes
(in the src
subfolder).The initial app project contains a simple Welcome app, ready to run.
Go to the workspace directory and launch the application.
cd angular-tour-of-heroes ng serve --open
The
ng serve
command builds the app, starts the development server, watches the source files, and rebuilds the app as you make changes to those files.The
--open
flag opens a browser tohttp://localhost:4200/
.
You should see the app running in your browser.
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.
Open the project in your favorite editor or IDE and navigate to the src/app
folder to make some changes to the starter app.
You'll find the implementation of the shell AppComponent
distributed over three files:
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.Open the component class file (app.component.ts
) and change the value of the title
property to 'Tour of Heroes'.
title = 'Tour of Heroes';
Open the component template file (app.component.html
) and delete the default template generated by the Angular CLI. Replace it with the following line of HTML.
<h1>{{title}}</h1>
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.
Most apps strive for a consistent look across the application. The CLI generated 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.
/* Application-wide Styles */ h1 { color: #369; font-family: Arial, Helvetica, sans-serif; font-size: 250%; } h2, h3 { color: #444; font-family: Arial, Helvetica, sans-serif; font-weight: lighter; } body { margin: 2em; } body, input[type="text"], button { color: #333; font-family: Cambria, Georgia; } /* everywhere else */ * { font-family: Arial, Helvetica, sans-serif; }
Here are the code files discussed on this page.
import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'Tour of Heroes'; }
<h1>{{title}}</h1>
/* Application-wide Styles */ h1 { color: #369; font-family: Arial, Helvetica, sans-serif; font-size: 250%; } h2, h3 { color: #444; font-family: Arial, Helvetica, sans-serif; font-weight: lighter; } body { margin: 2em; } body, input[type="text"], button { color: #333; font-family: Cambria, Georgia; } /* everywhere else */ * { font-family: Arial, Helvetica, sans-serif; }
© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v10.angular.io/tutorial/toh-pt0