/angular-webpack-starter

:star2: Angular Webpack Starter with AoT compilation, Lazy-loading, Tree-shaking, and Hot Module Reload (Updated to 4.1.0!)

Primary LanguageJavaScriptMIT LicenseMIT

Angular Webpack Starter

Build Status Codecov Dependency Status devDependency Status Dependency Status

Live Production Build Demo

Introduction

Welcome to Angular Webpack Starter! This starter contains almost everything you need to start developing Angular.

This repo is evolved from Angular Starter

Why choose this starter?

  • Extensible via ngstarter extensions
  • Complete workflow from serve, lint, unit test, e2e test, to bundling
  • Support dotenv Environment Variables
  • 100% code coverage
  • 100% CI/CD pipeline ready
  • No global package installation
  • You can tune it as you wish, no blackbox

What's included?

Please visit the wiki for more details.

Prerequisites

You need to have Node.js and npm

  • Support Node v6.9 - latest
  • Support npm v3 - latest
  • Support Yarn

Installation

Download the starter from releases page

Go to the starter directory and install the packages (Yarn is recommended):

npm install

Then copy .env.example and rename it as .env. For more details

Start

Let's start up, run following:

// Build DLL first, run this once after adding new package
npm run build:dll

// Start the app
npm start

and done! Open a browser and go to http://localhost:8080 and you can start developing Angular! Every changes to the file will refresh the browser automatically and it'll also compile your changed TypeScripts files to Javascript files.

If any error occured when starting, please retry npm run build:dll. That means DLL build is too old and need to be refreshed.

Testing

This starter comes with testing workflow

Unit testing

Just run

npm test

and it'll compile all TypeScript files, start Karma, then remap Istanbul coverage so that it shows TypeScript coverage, not the transpiled JavaScript coverage.

Coverage result

E2E testing

Firstly start the server:

npm start

To begin testing, run:

npm run e2e

Production

For more details, visit Continuous Integration wiki

You can create production build by running:

npm run build

or you can create production build and then serve it using Lite Server by running:

npm run serve:build

Extension

You can extend this starter with many extensions built by the community. Browse the extensions here

Contributing

Feel free to submit a PR if there are any issues or new features, please read this before

Special thanks

License

MIT