Now that Angular 2 has gone 2.0.0, there's documentation on Ahead of Time compilation of Angular apps (i.e., from TypeScript + HTML templates to Javascript).
Compilation removes the (template) compiler from Angular 2, reducing the Angular 2 payload by half.
As mentioned by Gunter Zochbauer, tree-shaking with rollup is supported, bringing the bundle size down further.
Tree shaking is now supported for production bundling in the Angular CLI, with AoT compilation support also in development.
With a ng-cli@1.0.0-beta.17 new project without any changes:
ng build --prod
:
3.9K styles.b52d2076048963e7cbfd.bundle.js
183K main.8b778eea5dd35968ef66.bundle.js.gz
805K main.8b778eea5dd35968ef66.bundle.js
ng build --prod --aot
:
3.9K styles.b52d2076048963e7cbfd.bundle.js
99K main.a2eb733289ef46cb798c.bundle.js.gz
452K main.a2eb733289ef46cb798c.bundle.js
Meaning a basic, working app is now at < 100 KB with AoT compilation, minification, tree-shaking, and gzipping.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…