如何让简洁的 webpack 插件正常工作
How to get terser webpack plugin works properly
我正在尝试了解如何让 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 了解到,如果我想激活 tree shaking,我必须使用 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"
看到您将 mode
设置为 none
,optimization.minimize
设置为 false
,因此永远不会实例化您的 Terser 自定义实例。
将 minimize: true
添加到 optimization
对象,它应该可以工作。
我正在尝试了解如何让 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 了解到,如果我想激活 tree shaking,我必须使用 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"
看到您将 mode
设置为 none
,optimization.minimize
设置为 false
,因此永远不会实例化您的 Terser 自定义实例。
将 minimize: true
添加到 optimization
对象,它应该可以工作。