【发布时间】:2019-07-14 13:25:58
【问题描述】:
我与我的同事发生了争执,我们似乎无法从任何官方来源(MDN、webpack 文档……)找到答案。我的研究hasn't yielded much 也是。 even when it comes to importing 似乎也有疑问。
我们的设置是 Webpack、Babel 和一个典型的 React / Redux 应用程序。举个例子:
export * from './actions';
export * from './selectors';
export * from './reducer';
export { default } from './reducer';
这允许我将 Redux 模块分成逻辑部分,使代码更易于阅读和维护。
但是,我的一些同事认为 export * from 实际上可能会损害 webpack 的 tree-shaking 能力,因为它会欺骗它相信一个导出实际上只是被使用了正在重新出口。
所以我的问题是,是否有任何事实可以证明或反驳这一点?
【问题讨论】:
-
为什么不建立一个虚拟项目并尝试一下呢?我意识到这不像汇总团队的实际文档那样具有权威性,但它并不重要。
-
github.com/webpack/webpack/issues ... 说真的,对于开源的东西,有时最好的地方是在 repo...
-
@Bergi 所有这些都与导入有关。我特意询问是否使用
export * from './module'重新导出,这是另一回事。 -
@pbondoer 哎呀,你说得对,我完全将语法与命名空间导入混淆了,其中树抖动优化不那么微不足道。
-
@HereticMonkey 指向索引页面的链接(保证会随时间变化)是我需要阅读的最后一件事。
标签: javascript webpack ecmascript-6 es6-modules tree-shaking