KEMBAR78
Getting Started with the Angular 2 CLI | PDF
Getting Started
With The
Angular 2 CLI
July 2016
by Jim Lynch
Jim Lynch
Front-End Engineer
at Altered Image
@webWhizJim
http://www.slideshare.net/JimLynch22/getting-started-with-
the-angular-2-cli
WebStorm
Ambassador
“The BDD Angular Guy”
Slides available here: 

Resources for Learning
Angular 2
https://www.udemy.com/angular-2-crash-course/
learn/v4/?
couponCode=blackhat&pmtag=CELEBRATE40
&utm_source=codek.tv
1. Angular 2 Crash Course with TypeScript - Udemy
Free with the link below!
Resources for Learning
Angular 2
2. Accelerating Through Angular 2 - CodeSchool.com
https://www.codeschool.com/courses/accelerating-through-
angular-2
(First level free, then requires pro membership)
Resources for Learning
Angular 2
3. Pluralsight Courses
(requires pluralsight membership)
Resources for Learning
Command Line / BASH
2 Free Code School Courses!
- Shell Productivity Elective Course
- Unix Basics Elective Course
https://www.codeschool.com/
Resources for Learning
Command Line / BASH
Free Code Camp
Backend Challenges
Free!
Resources for Learning
Command Line / BASH
• Reference guide of the
common Unix / Linux
commands.
• Physically small book.
• Humorous yet informative and
technical descriptions.
Resources Specifically For
Learning Angular 2 CLI
• Angular CLI Reference PDF

(https://cli.angular.io/reference.pdf)
• Angular 2 CLI Github Project Page

(https://github.com/angular/angular-cli)
• Official Angular CLI Website

(https://cli.angular.io/)
The Importance of Having a
Pretty Command Line
• Your command line is a powerful tool. You should
use it often and be comfortable with it.
• Make the background and font color easy on
the eyes and increase the font size.
• Edit your ~/.bash_rc or ~/.bash_profile to make your
text more colorful and change your BASH prompt.
• Install vim plugins for syntax highlighting.
So, What is Angular 2?
What Is a SPA Framework?
Routing
- Illusion of Pages
- Deep Linking
- Layers of HTML
Components
- Ties HTML to JS
- Data Binding
- Modular Code
Angular 2 Building Blocks
• Pipes
• Services
• Routes
• Components
• Directives
(Eerily similar the building
blocks of AngularJS)
• Filters
• Services
• Routes
• Controllers
• Directives
Differences From Angular 1
• No more “ng-“ directives! New syntax for binding
directly to events instead.
• Namespaced CSS / Sass
• Simpler concept of Directives, No link functions in ng2!
• Nice router with power and flexibility of UI-Router
• Crazy fast with Shadow DOM under the hood.
• And best of all, the Angular CLI!
• Projects are written in TypeScript (usually).
• Observables to handle streams and cancel requests!
If You Can’t Beat Em’, Join em’.
(Or just copy ‘em)
• Concept of “Shadow DOM” originally from React
• Took Microsoft’s TypeScript and made it mainstream.
• CLI tool ported from from Ember CLI.
The Angular CLI!!
Are you as excited as this guy?
Use the command line to generate
folders and files for you.
…or even generate an entire
starter project.
The Main Idea
The Initiation Ceremony
(Installing angular-cli)
This is where your Angular 2 CLI journey begins!
If You Get This Error:
You might get this error:
Error: EACCES: permission denied, open '/Users/jim/.config/
configstore/ember-cli.json'
You don't have access to this file.
Give your
current user
ownership of
ember-
cli.json sudo chown jim /Users/jim/.config/configstore/ember-cli.json
ng new
ng init
What Just Happened?
An entire starter project was scaffolded!
All these files
and folders
were
generated by
ng new!
A Closer Look
a What Was Created
Config
Environment files for setting production boolean
environment variable.
Configuration files for automated test runners.
Dist
Folder that gets written to by build task
Contains final, minified files that get hosted
to be the final, live product.
E2e
Contains files for e2e and integration
tests run by Protractor.
node_modules
Contains all the npm libraries that are dependencies
for your application.
Public
Contains the .gitignore file.
A place for images and
other static assets.
Some people like to put manually added
libraries here.
Src
Contains all of your source code!
Tmp
Contains temporary files that Angular CLI
generates and uses to runs its tasks.
typings
Contains TypeScript type definition files.
Other files
Other configuration files.
Workflow Commands
- ng serve
- ng test
- ng e2e
- ng build
ng serve
ng test
ng e2e
ng build
ng deploy gh:pages
Creating a Github Token
It’s easy!
ng Generate!
• Scaffold individual components, routes, directives,
services, or pipes!
• Alias for the generate command is just the letter g.
• The generated component has its own directory,
unless the --flat options is specified.
ng g component
ng g service
ng g pipe
ng g directive
ng g route
CLI Bonus Commands!
ng-lint
ng help
ng doc <keyword>
ng version
Things You Might
Consider Adding to An
Angular 2 Project
• Angular Universal / App Shell
• CucumberJS / Acceptance tests
• Redux or any other Flux Store
• Ionic / Angular for Native Apps
Other Generators
Do Exist!
Angular Universal Starter
FountainJS
Questions?
twitter.com/webWhizJim
www.wisdomofjim.com
Slides available here: 

www.slideshare.net/JimLynch22/getting-started-with-the-
angular-2-cli
github.com/JimTheMan
Thanks!

Getting Started with the Angular 2 CLI