Hello Angular CLI

A colleague of mine told me to give Angular CLI a try...so here we go. What is Angular CLI?

A command line interface for Angular

Surprise. Surprise.

Since we don't want to get our host infected during this experiment we start in a fresh Docker sandbox.

Grab the Node.js Docker image node and run it with port 4200 published to the host (The development server will use this port).

$ docker run -it --rm --publish 4200:4200 --hostname hello-world-docker node:7.9.0-alpine /bin/sh

Once we are inside the container we basically follow the instructions on the Angular CLI page:

Installing Angular CLI

/ # npm install -g @angular/cli
....
npm info ok

Create a new Angular app hello-world

/ # ng new hello-world
installing ng
  create .editorconfig
  create README.md
....
  create tslint.json
Installing packages for tooling via npm.
Installed packages for tooling via npm.
You can `ng set --global packageManager=yarn`.
Project 'hello-world' successfully created.

Change into the newly created directory

/ # cd hello-world

and start the development Server internally with host hello-world-docker.

Note: --host hello-world-docker is needed to access the app from outside the container.

/hello-world # ng serve --host hello-world-docker
** NG Live Development Server is running on http://hello-world-docker:4200 **
Hash: 863dad538e4cd34a1928
Time: 7197ms
chunk    {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 158 kB {4} [initial] [rendered]
chunk    {1} main.bundle.js, main.bundle.js.map (main) 3.62 kB {3} [initial] [rendered]
chunk    {2} styles.bundle.js, styles.bundle.js.map (styles) 9.77 kB {4} [initial] [rendered]
chunk    {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.37 MB [initial] [rendered]
chunk    {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
webpack: Compiled successfully.

From the host you should be able to access the app here: http://localhost:4200


app works!