4

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

export function bar() {}

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

export function qux() {}

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

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

假设它this.bar不会影响 tree-shaking 机制bar并且qux会被 tree-shaking 是否安全?

bar是否有可能让捆绑器知道and之间的关系baz,所以如果Foo.baz正在使用,只有qux摇树?

这个问题主要解决了 Webpack 摇树问题,但也欢迎对其他捆绑程序(Rollup)进行解释。

4

0 回答 0