我们的设置:
- 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捆绑多少?
答案 0 :(得分:3)
fromFeature1.Feature1Service
是fromFeature1
对象属性。它不是导出,如果fromFeature1
正在使用中,则不能动摇。
为了使用树摇动,它应该是:
export { Feature1Service } from './Feature1Service';
export { Feature1Dto } from './Feature1Dto';