This project was generated with Angular CLI version 1.5.3.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the -prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.
To develop in Docker on Windows, firstly register for a Docker account and get Docker on Windows. Then you can use a Docker container as a "runtime box" for your Angular project. Do it as the followings.
Open a "cmd" shell, and log in with your Docker account by
docker login
Then cd into the portal project root(like ".../hpc-acm/src/portal") and execute:
docker run --rm -it -v %cd%:/opt/app -w /opt/app --name portal -p 4200:4200 louirobert/angular-cli-with-chrome:1.0.0 /bin/bash
It mounts the current directory %cd%
to /opt/app
in the Docker container's system, sets /opt/app
as the working dirand opens an interactive Bash shell inside the docker container. It also maps the port 4200 of the container to the host's 4200 port.
For the first time(or when you update package.json), you need to install(or update) npm packages. Do it inside the docker container's shell:
npm install
Then start the dev server by:
npm start
Then you got it!
If you already had npm install
, then you can start devlopment simply by an one line command from Windows "cmd" shell:
docker run --rm -v %cd%:/opt/app -w /opt/app --name portal -p 4200:4200 louirobert/angular-cli-with-chrome:1.0.0 /bin/bash -c "npm start"
Still, it has to be under the portal project root for %cd%
to work.
After use, stop the container by
docker stop portal
Note that simply "Ctrl+C" doesn't stop a container(which can be observed by docker container list
).
To run unit test, you need to run the docker container as a non-privileged user dev and with a --privileged
argument(it has something to do with the Chrome browser for test):
docker run --rm -it -v %cd%:/opt/app -w /opt/app --name portal2 --user dev --privileged -p 9876:9876 louirobert/angular-cli-with-chrome:1.0.0 /bin/bash
Note: port 9876 is used by karma test server. If no need to access it(that means no test debugger) from outside of the container, then it doesn't have to be mapped.
Then execute:
npm test
in the container's shell.