假设我们用两个静态方法创建一个 typescript 类:
export class Utilities {
static methodFoo() { return 'foo'}
static methodBoo() { return 'boo'}
}
后来有人从npm包
@scope/utilities
导入我们的类,并且仅使用methodFoo
这样import {Utilities} from '@scope/utilities';
let pityTheFoo = Utilities.methodFoo();
如果我们使用汇总将以上内容发布为优化的/“treeshaken”模块,汇总将能够消除
methodBoo
吗? 最佳答案
截至2019年11月,不,静态方法还没有树桩。
Rollup Issue #349为此而被提出,其中even the tool creator was sympathetic to having the feature。由于没有事件,因此发布了closed in an auto-cleanup。
至于测试行为,您可以轻松地自己做:仅使用从未使用过的静态方法构建一个类,使用rollup.js(或angular或包含rollup的东西)并检查输出。
我为此而苦苦挣扎,因为您接下来将如何构建可挂树的工具?就像rxjs一样,单独导出所有功能吗?然后,您将松开所有的命名空间,这对我来说似乎也不是很理想。。。我猜您的问题是否出自于此思想?
据我所知,您当前要么导出普通函数,要么您的utils不会被挂树。