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