用于导出const变量的Webpack树形图

时间:2018-04-07 10:10:45

标签: angular typescript ionic-framework webpack

我们的设置:
- Angular 5.2.x
- 离子4.4.x.
- Webpack 3.6.x

我们有这样的应用结构:

app
  |__features
  |    |__Feature1
  |    |     |__Feature1Service.ts
  |    |     |__Feature1Dto.ts
  |    |     |__index.ts
  |    |
  |    |__Feature2
  |          |__Feature2Service.ts
  |          |__Feature2Dto.ts
  |          |__index.ts
  |
  |__core
       |__SomeCoreStuff.ts
       |__index.ts

在索引文件中,我们会导出当前功能之外所需的所有内容,如下所示:

import { Feature1Service } from './Feature1Service';
import { Feature1Dto } from './Feature1Dto';
export const fromFeature1 = { Feature1Service, Feature1Dto };

然后用法如下所示在Feature2:

import { fromFeature1 } from '../Feature1';

//use Feature1Service but not Feature1Dto
fromFeature1.Feature1Service;

在这种情况下,只使用const fromFeature1上的一个属性。

我们的问题是,如果webpack的树木剥离了未使用的导出(本例中为Feature1Dto)。如果不是这会炸毁我们部署的js捆绑多少?

1 个答案:

答案 0 :(得分:3)

fromFeature1.Feature1ServicefromFeature1对象属性。它不是导出,如果fromFeature1正在使用中,则不能动摇。

为了使用树摇动,它应该是:

export { Feature1Service } from './Feature1Service';
export { Feature1Dto } from './Feature1Dto';