rxjs 模块化导入和包大小(webpack2/angular2 cli)
rxjs modular imports and bundle size (webpack2/angular2 cli)
如果我有一个组件 - 组件 A - 具有以下导入:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
我还有另一个组件——组件 B——有重复的导入:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
我使用 ng build --prod
进行构建,CLI
是否会删除导入的重复项,或者我的捆绑包中是否会有每个导入的 2x 副本?此外 --aot
选项会有什么影响吗?如果你不知道,那么你对我如何测试这个有什么建议吗?
绝对没有。 ng build --prod
在后台使用 Webpack module bundling 系统来捆绑文件。 Webpack 足够智能,不会重复导入。
使用 --aot
选项很棒。它使用 Angular AOT 编译来捆绑文件。即提前编译,它只是意味着在将 angular 文件提供给客户端之前对其进行编译,因此这消除了导致加载时间长的编译阶段。这里有一篇更好的文章来解释 Angular AOT
如果我有一个组件 - 组件 A - 具有以下导入:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
我还有另一个组件——组件 B——有重复的导入:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
我使用 ng build --prod
进行构建,CLI
是否会删除导入的重复项,或者我的捆绑包中是否会有每个导入的 2x 副本?此外 --aot
选项会有什么影响吗?如果你不知道,那么你对我如何测试这个有什么建议吗?
绝对没有。 ng build --prod
在后台使用 Webpack module bundling 系统来捆绑文件。 Webpack 足够智能,不会重复导入。
使用 --aot
选项很棒。它使用 Angular AOT 编译来捆绑文件。即提前编译,它只是意味着在将 angular 文件提供给客户端之前对其进行编译,因此这消除了导致加载时间长的编译阶段。这里有一篇更好的文章来解释 Angular AOT