npm install
Run npm run start
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.
dist/ web app production build
docs/ project docs and coding guides
e2e/ end-to-end tests
src/ project source code
|- app/ app components
| |- core/ core module (singleton services and single-use components)
| |- shared/ shared module (common components, directives and pipes)
| |- app.component.* app root component (shell)
| |- app.module.ts app root module definition
| |- app-routing.module.ts app routes
| +- ... additional modules and components
|- assets/ app assets (images, fonts, sounds...)
|- environments/ values for various build environments
|- theme/ app global scss variables and theme
|- translations/ translations files
|- index.html html entry point
|- main.scss global style entry point
|- main.ts app entry point
|- polyfills.ts polyfills needed by Angular
+- test.ts unit tests entry point
reports/ test and coverage reports
proxy.conf.js backend proxy configuration
Task automation is based on NPM scripts.
Task | Description |
---|---|
npm start |
Run development server on http://localhost:4200/ |
npm run build [-- --env=prod] |
Lint code and build web app for production (with AOT) in dist/ folder |
npm test |
Run unit tests via Karma in watch mode |
npm run test:ci |
Lint code and run unit tests once for continuous integration |
npm run e2e |
Run e2e tests using Protractor |
npm run lint |
Lint code |
npm run translations:extract |
Extract strings from code and templates to src/app/translations/template.json |
npm run docs |
Display project documentation |
When building the application, you can specify the target environment using the additional flag --env <name>
(do not
forget to prepend --
to pass arguments to npm scripts).
The default build environment is prod
.
The app template is based on HTML5, TypeScript and Sass. The translation files use the common JSON format.
Development, build and quality processes are based on angular-cli and NPM scripts, which includes:
- Cross-browser CSS with autoprefixer and browserslist
- Unit tests using Jasmine and Karma
- End-to-end tests using Protractor
- Static code analysis: TSLint, Codelyzer,
- Local knowledgebase server using Hads