树在名称空间模块中摇晃

时间:2018-05-22 06:40:02

标签: webpack ecmascript-6 tree-shaking

有一个模块用作命名空间(出于可测试性原因或其他原因):

export function bar() {}

export function baz() {
    this.bar();
}

export function qux() {}

这可以被认为是一种不好的做法,因为baz取决于上下文,不能单独作为命名导出导入:

import * as Foo from './foo';
Foo.baz();

是否可以安全地假设this.bar不会影响树摇动机制,而barqux会被树木震动?

是否可以让捆绑器了解barbaz之间的关系,因此如果Foo.baz正在使用中,则只有qux是树摇动的?

这个问题主要针对Webpack树摇晃,但也欢迎其他捆绑者(Rollup)的解释。

0 个答案:

没有答案