JIT & AOT
模板编译的时机不同,一个在浏览器端,一个在服务器端
首次加载时间
- JIT: 9.13s
- hmr: 1s. 部分资源重新加载,适合开发环境
- AOT: 2.34s
- prod: 1.41s. –prod automatically turns on –aot
ng-cli 选项:
build 编译选项:
- –vendor-chunk: 输出 vendor 文件(保存angular和第三方库源码),否则会将 vendor 和 main 文件合并
- –aot
- –prod
serve 选项:
- –prod: 打包文件小,但是 hmr 模式下打包速度非常慢,代码检查也更严格
- –aot: 和 –prod 的特点相同,但是没有 –prod 语法严格,大小也稍微大点
- JIT 模式,默认的解析模式,特点是加载速度慢,因为浏览器端解析
- –common-chunk: 比如 ABC 三个模块都依赖一个 D 模块,将 D 模块单独打包到一个 chunk,加载 ABC 三个模块时只加载一遍 D,如果在缓存中存在了 D,就不用再重新加载了。
输出文件结构:
- inline.bundle.js 这是webpack的运行时.
- main.bundle.js 就是程序代码.
- pollyfills.bundle.js 就是浏览器的Pollyfills.
- styles.bundle.js 样式
- vendor.bundle.js 是angular和第三方库