webpack bundler如何解析命名导入?

时间:2018-01-19 12:30:09

标签: performance webpack

我有一个来自其他文件的命名import语句。 像这样

import { getTax } from "fileA"

fileA具有各种导出功能,如此

export function A(){}
export function B= function(){}
export function getTax= function(){}

webpack会在捆绑代码中添加A,B和getTax吗? 我正在使用webpack 2.x

1 个答案:

答案 0 :(得分:1)

默认情况下,webpack bundler不会处理死代码的删除。要删除死代码,您必须使用支持死代码删除的UglifyJSPlugin之类的缩小器。

Webpack为此提供了很好的类比:

  

您可以将您的应用程序想象成一棵树。源代码和   你实际使用的图书馆代表了绿色,活着的叶子   树。死代码表示树的褐色枯叶   秋天消耗。为了摆脱枯叶,你有   摇动树,使它们摔倒。

供参考阅读: 1)Tree-shaking 2)UglifyJSPlugin

因此,在您的情况下,将导入所有3个功能。你为此动摇了捆绑器。