4cc7701700
This was originally done on the master branch in
commit 03043839d5,
but never back-ported to 1.6.x.
That wasn't a big deal because docs.angularjs.org
served the master snapshot docs. However, now we
serve the 1.6.x snapshot docs, and it looks strange
that the official docs have the wrong branding :).
24 lines
927 B
Markdown
24 lines
927 B
Markdown
Using AngularJS with the Closure Compiler
|
|
=========================================
|
|
|
|
The Closure Compiler project contains definitions for the AngularJS JavaScript
|
|
in its `contrib/externs` directory.
|
|
|
|
The definitions contain externs for use with the Closure compiler (aka
|
|
JSCompiler). Passing these files to the --externs parameter of a compiler
|
|
pass allows using type annotations for AngularJS objects. For example,
|
|
AngularJS's $scope objects can be annotated as:
|
|
```js
|
|
/** @type {angular.Scope} */
|
|
var scope = $scope;
|
|
```
|
|
|
|
This allows JSCompiler to type check accesses to scope, give warnings about
|
|
missing methods or incorrect arguments, and also prevents renaming of property
|
|
accesses with advanced compilation.
|
|
|
|
The externs are incomplete and maintained on an as-needed basis, but strive to
|
|
be correct. Externs for individual modules should be added in separate files.
|
|
|
|
See https://developers.google.com/closure/compiler/
|