假设我们创建一个带有两个静态方法的 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();
如果我们使用 rollup 将上面的内容发布为优化的/“treeshaken”模块,rollup 是否能够剃掉 methodBoo
?
最佳答案
截至 2019 年 11 月,不,静态方法未经过 treesaken。 Rollup Issue #349为它筹集资金,其中 even the tool creator was sympathetic to having the feature .问题closed in an auto-cleanup由于此后不活动。
至于测试行为,您可以自己轻松完成:只需使用从未使用过的静态方法构建一个类,使用 rollup.js(或 angular 或包含 rollup 的东西)并检查输出。
我正在为此苦苦挣扎,因为你将如何构建 treeshakable 实用程序?就像 rxjs 那样做,然后单独导出所有函数?然后你会失去所有的命名空间,这对我来说似乎也不理想......我猜你的问题源于那个想法?
据我所知,您目前要么导出普通函数,要么您的实用程序不会被摇树。
关于javascript - 静态 typescript 类方法树是否可以通过汇总摇动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49579600/