Getting Started
Good tools make application development quicker and easier to maintain than if you did everything by hand.
The Angular CLI is a command line interface tool that can create a project, add files, and perform a variety of ongoing development tasks such as testing, bundling, and deployment.
The goal in this guide is to build and run a simple Angular application in TypeScript, using the Angular CLI while adhering to the Style Guide recommendations that benefit every Angular project.
By the end of the chapter, you'll have a basic understanding of development with the CLI and a foundation for both these documentation samples and for real world applications.
And you can also download the example.
Step 1. Set up the Development Environment
You need to set up your development environment before you can do anything.
Install Node.js® and npm if they are not already on your machine.
Verify that you are running at least Node.js version
8.x
or greater and npm version5.x
or greater by runningnode -v
andnpm -v
in a terminal/console window. Older versions produce errors, but newer versions are fine.
Then install the Angular CLI globally.
npm install -g @angular/cli
Step 2. Create a new project
Open a terminal window.
Generate a new project and default app by running the following command:
ng new my-app
The Angular CLI installs the necessary npm packages, creates the project files, and populates the project with a simple default app. This can take some time.
You can add pre-packaged functionality to a new project by using the
ng add
command. Theng add
command transforms a project by applying the schematics in the specified package. For more information, see the Angular CLI documentation.Angular Material provides schematics for typical app layouts. See the Angular Material documentation for details.
Step 3: Serve the application
Go to the project directory and launch the server.
cd my-app ng serve --open
The ng serve
command launches the server, watches your files, and rebuilds the app as you make changes to those files.
Using the --open
(or just -o
) option will automatically open your browser on http://localhost:4200/
.
Your app greets you with a message:
Step 4: Edit your first Angular component
The CLI created the first Angular component for you. This is the root component and it is named app-root
. You can find it in ./src/app/app.component.ts
.
Open the component file and change the title
property from 'app'
to 'My First Angular App!'
.
export class AppComponent { title = 'My First Angular App!'; }
The browser reloads automatically with the revised title. That's nice, but it could look better.
Open src/app/app.component.css
and give the component some style.
h1 { color: #369; font-family: Arial, Helvetica, sans-serif; font-size: 250%; }
Looking good!
What's next?
That's about all you'd expect to do in a "Hello, World" app.
You're ready to take the Tour of Heroes Tutorial and build a small application that demonstrates the great things you can build with Angular.
Or you can stick around a bit longer to learn about the files in your brand new project.
Project file review
An Angular CLI project is the foundation for both quick experiments and enterprise solutions.
The first file you should check out is README.md
. It has some basic information on how to use CLI commands. Whenever you want to know more about how Angular CLI works make sure to visit the Angular CLI repository and Wiki.
Some of the generated files might be unfamiliar to you.
The src
folder
Your app lives in the src
folder. All Angular components, templates, styles, images, and anything else your app needs go here. Any files outside of this folder are meant to support building your app.
src app app.component.css app.component.html app.component.spec.ts app.component.ts app.module.ts assets .gitkeep environments environment.prod.ts environment.ts browserslist favicon.ico index.html karma.conf.js main.ts polyfills.ts styles.css test.ts tsconfig.app.json tsconfig.spec.json tslint.json
File | Purpose |
---|---|
| Defines the |
| Defines |
| A folder where you can put images and anything else to be copied wholesale when you build your application. |
| This folder contains one file for each of your destination environments, each exporting simple configuration variables to use in your application. The files are replaced on-the-fly when you build your app. You might use a different API endpoint for development than you do for production or maybe different analytics tokens. You might even use some mock services. Either way, the CLI has you covered. |
| A configuration file to share target browsers between different front-end tools. |
| Every site wants to look good on the bookmark bar. Get started with your very own Angular icon. |
| The main HTML page that is served when someone visits your site. Most of the time you'll never need to edit it. The CLI automatically adds all |
| Unit test configuration for the Karma test runner, used when running |
| The main entry point for your app. Compiles the application with the JIT compiler and bootstraps the application's root module ( |
| Different browsers have different levels of support of the web standards. Polyfills help normalize those differences. You should be pretty safe with |
| Your global styles go here. Most of the time you'll want to have local styles in your components for easier maintenance, but styles that affect all of your app need to be in a central place. |
| This is the main entry point for your unit tests. It has some custom configuration that might be unfamiliar, but it's not something you'll need to edit. |
| TypeScript compiler configuration for the Angular app ( |
| Additional Linting configuration for TSLint together with Codelyzer, used when running |
The root folder
The src/
folder is just one of the items inside the project's root folder. Other files help you build, test, maintain, document, and deploy the app. These files go in the root folder next to src/
.
my-app e2e src app.e2e-spec.ts app.po.ts tsconfig.e2e.json protractor.conf.js node_modules/... src/... karma.conf.js .editorconfig .gitignore angular.json package.json README.md tsconfig.json tslint.json
File | Purpose |
---|---|
| Inside |
| |
| Simple configuration for your editor to make sure everyone that uses your project has the same basic configuration. Most editors support an |
| Git configuration to make sure autogenerated files are not committed to source control. |
| Configuration for Angular CLI. In this file you can set several defaults and also configure what files are included when your project is built. Check out the official documentation if you want to know more. |
| |
| End-to-end test configuration for Protractor, used when running |
| Basic documentation for your project, pre-filled with CLI command information. Make sure to enhance it with project documentation so that anyone checking out the repo can build your app! |
| TypeScript compiler configuration for your IDE to pick up and give you helpful tooling. |
| Linting configuration for TSLint together with Codelyzer, used when running |
Next Step
If you're new to Angular, continue with the tutorial. You can skip the "Setup" step since you're already using the Angular CLI setup.
© 2010–2019 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v6.angular.io/guide/quickstart