A Webpack Plugin for babel-minify - A babel based minifier
npm install babel-minify-webpack-plugin --save-dev
// webpack.config.js
const MinifyPlugin = require("babel-minify-webpack-plugin");
module.exports = {
entry: //...,
output: //...,
plugins: [
new MinifyPlugin(minifyOpts, pluginOpts)
]
}
minifyOpts are passed on to babel-preset-minify. You can find a list of all available options in the package directory.
Default: {}
test: Test to match files against. Default: /\.js($|\?)/iinclude: Files to include. Default: undefinedexclude: Files to exclude. Default: undefinedcomments: Preserve Comments. Default: /^\**!|@preserve|@license|@cc_on/, falsy value to remove all comments. Accepts function, object with property test (regex), and values.sourceMap: Configure a sourcemap style. Default: webpackConfig.devtoolparserOpts: Configure babel with special parser options.babel: Pass in a custom babel-core instead. Default: require("babel-core")minifyPreset: Pass in a custom babel-minify preset instead. Default: require("babel-preset-minify")You can also use babel-loader for webpack and include minify as a preset and should be much faster than using this - as babel-minify will operate on smaller file sizes. But then, why does this plugin exist at all? -
mangle: { topLevel: true } in minifyOptions.node_modules from being run through the babel-loader, babel-minify optimizations are not applied to the excluded files as it doesn't pass through the minifier.|
|
|
|
|
|