使用桶导入模块与捆绑包大小的特定文件有什么影响?

时间:2016-06-20 17:03:13

标签: typescript angular

根据angular 2样式指南,最好为每个目录定义一个文件,该目录将包含所有嵌套文件的导入。

我完全同意这一点,并且已经开始使用这种方法。

现在,我的问题是:

根据我使用的每种方法,最终的捆绑尺寸是否有任何影响?

例如这(考虑到/ core有几十个可导出的类:

import {DataClient} from './../core'

vs this:

import {DataClient} from './../core/interfaces/data.service'

此外,第三方库如rxjs会发生什么?以下片段之间的区别是什么?

import {Observable} from 'rxjs'

import {Observable} from 'rxjs/Observable'

我提到了rxjs,因为建议在角度文档中分别导入每个运算符。

2 个答案:

答案 0 :(得分:2)

这将从core加载所有导出的模块+依赖项:

import {DataClient} from './../core'

这将加载模块data.service(带有导出/导入语句的ts文件是模块)+此模块的依赖项:

import {DataClient} from './../core/interfaces/data.service'

这将加载完整的' rxjs'库(所有运营商):

import {Observable} from 'rxjs'

这将仅从Observable加载rxjs实施:

import {Observable} from 'rxjs/Observable'

答案 1 :(得分:0)

减少模块数量似乎会对构建时间产生积极影响。 我找到了这篇文章:也许它会有所帮助: https://github.com/AngularClass/angular2-webpack-starter/issues/484