webpack.config.js:
const webpack = require("webpack");
module.exports = {
entry: {
"bundle": "./entry.js",
"bundle.min": "./entry.js",
},
devtool: "source-map",
output: {
path: "./dist",
filename: "[name].js"
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
include: /\.min\.js$/,
minimize: true
})
]
};
Since Webpack 4, webpack.optimize.UglifyJsPlugin
has been deprecated and its use results in error:
webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead
As the manual explains, the plugin can be replaced with minimize
option. Custom configuration can be provided to the plugin by specifying UglifyJsPlugin
instance:
const webpack = require("webpack");
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
// ...
optimization: {
minimize: true,
minimizer: [new UglifyJsPlugin({
include: /\.min\.js$/
})]
}
};
This does the job for a simple setup. A more effective solution is to use Gulp together with Webpack and do the same thing in one pass.