我在我的应用程序中使用了ES6模块并使用webpack2捆绑它。当我将我的应用程序与node_modules的外部依赖关系捆绑在一起时,它会在未分析的输出中显示未使用的模块。但是,当我捆绑缩小的文件时,未使用的模块也捆绑在一起。
webpack.config.js
var webpack = require('webpack');
var nodeExternals = require('webpack-node-externals');
module.exports = {
target: 'node',
context: __dirname + '/',
entry: { 'main': './src/main.js' },
output: {
path: __dirname + '/',
filename: "webpack2-test-es6.js"
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel' }
]
},
plugins: [
new webpack.LoaderOptionsPlugin({
minimize: true,
debug: false
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: true,
dead_code: true,
unused: true,
},
output: {
comments: false
},
sourceMap: false
})
]
}
捆绑过程会显示一些警告,例如
Side effects in initialization of unused variable
......
......
这些副作用模块是/ *未使用的和谐命名空间reexport * /,但它也捆绑在缩小的输出中。