webpack会在production下默认开启tree-shaking
,打包时把无用的代码摇掉,以优化打包结果。
通过在package.json
中配置sideEffects
以配置tree-shaking
的作用范围,不配置的话,默认应该是有一套自己的规则。
// package.json
// 所有文件都有副作用,全都不可 tree-shaking
{
"sideEffects": true
}
// 没有文件有副作用,全都可以 tree-shaking
{
"sideEffects": false
}
// 只有这些文件有副作用,
// 所有其他文件都可以 tree-shaking,
// 但会保留这些文件
{
"sideEffects": [
"./src/file1.js",
"./src/file2.js"
]
}