317 - 《按需打包 class 方法》

发布于 2023年6月29日

简单记录下昨天群里的问题。

问题是这样。

请教下用 rollup、webpack 能根据环境变量的不同,删减不同的类方法吗?能打包出包含 a,b 的类和包含 a,c 的类。不需要的方法能被 treeshaking 掉。比如。

class Api {
 a() {}
 b() {}
 c() {}
}

Tree Shaking 是提问者给出的可能的解,如果大家关注 Tree Shaking 而忽略问题本身,就陷入了 XY Problem。Tree Shaking 是问题的解,不是问题;同时 Tree Shaking 并不是这个问题的正解。

怎么解?基于 Webpack 说下我的思路。拍脑袋能想到有两种解法。

1、简单解 Define
2、复杂解 AST

方法一

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。