使用tree-shaking的前提
必須使用es6模塊化
開啓production模式
但是這個也有問題,可能因爲webpack版本的問題。比如我們在package.json中配置:
// 表示所有代碼都沒有副作用,都可以進行tree shaking
sideEffects: false
問題:可能會在構建過程中幹掉某些文件比如css文件(幹掉沒有引用的文件)
改爲:
sideEffects: [*.css]
// 就不會把css文件幹掉了。[]中標記不要被tree shaking的文件類型
但是我看不到代碼效果,找了一會
後來發現是兩個錯誤: ParallelUglifyPlugin 和 devtool;
配置使用了ParallelUglifyPlugin,它把輸出的js文件打的連它媽媽都不認得了。
註釋掉 ParallelUglifyPlugin
devtool 使用了‘eval-cheap-module-source-map’ 這個值
改爲‘hidden-source-map’ 就可以了。