假设我们使用两个静态方法创建一个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
?
答案 0 :(得分:2)
截至2018年9月,不是,静态方法不是树桩。
您还可以轻松地自己测试一下:只需使用从未使用过的静态方法构建一个类,使用rollup.js(或angular或包含rollup的内容)并检查输出。
我为此而苦苦挣扎,因为那么您将如何构建可树化的实用程序?就像rxjs一样,单独导出所有功能吗?然后,您将松开所有的命名空间,这对我来说也不是很理想。。。我猜您的问题源自该想法吗?
据我所知,您当前要么导出普通函数,要么您的utils不会被挂树。