AngularJS tooling
The AngularJS framework
Module loader
- Not required, but recommended.
- Load only what is needed
- Provide namespacing
- Don't need script tags
Modules provide translation between a module (file) and a pseudo module (wrapped function).
See AngularJS module.
Webpack
One of the most popular module loaders.
Allows any sort of file (JSON, CSS, etc.) to be imported as a module.
In addition to being useful for module loading, Webpack is also useful for the entire build process.
See Webpack.
ES6
ES6 is latest (2016) standard for JavaScript.
New features include:
- Module system
- New array methods
- Classes
- Multi-line templates
- Arrow functions
Almost the same as TypeScript but without types and interfaces.
Define dependency parameters explicitly for DI to work properly.
Use the same build system, or switch out transpiler (babel).
ES5
Supported natively.
No module system.
It exposes global ng namespace with methods to build application.
No need for build system or transpiler.
No type files or configs.
Documentation lacking.
Advice: don't do it.
TypeScript
TypeScript is a typed superset of JavaScript.
Compiled language, catches errors before runtime.
Includes features of ES6 but with type, as well as better tooling support.
TypeScript allows classes to be decorated with @<Decorator
.
See also TypeScript.
Typings
types is an NPM package to handle the type definitions associated with third-party libraries.