我正在尝试了解如何使terser webpack plugin在最简单的情况下工作。
这是我的代码:
src/math.js
,导出2个函数。
export const double = (x) =>
x + x;
export const triple = (x) =>
x + x + x;
scr/index.js
,仅导入double
函数。
import { double } from './math.js';
console.log(double(10));
从webpack documentation我了解到,如果我想激活树状摇动,必须使用ModuleConcatenationPlugin
。
这是我的webpack配置:
webpack/index.js
const webpack = require('webpack');
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
mode: 'none',
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
options: {
presets: [
['@babel/preset-env', {
modules: false
}]
],
babelrc: false
}
}
]
},
plugins: [
new webpack.optimize.ModuleConcatenationPlugin()
],
optimization: {
minimizer: [new TerserPlugin({})],
}
};
我不明白我在Webpack配置中错过了什么。 Webpack的输出没有缩小或摇晃的感觉...
节点:“ v10.10.0”
webpack:“ ^ 4.28.1”
webpack-cli:“ ^ 3.2.1”
@ babel / core:“ ^ 7.2.2”
@ babel / preset-env:“ ^ 7.1.5”
babel-loader:“ ^ 8.0.5”
terser-webpack-plugin:“ ^ 1.2.1”
答案 0 :(得分:2)
看到mode
设置为none
,optimization.minimize
设置为false
,因此您的Terser自定义实例永远不会实例化。
将minimize: true
添加到optimization
对象中,它应该可以工作。