我在webpack.config.js
中有以下包裹:
const CopyWebpackPlugin = require("copy-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const UglifyJS = require("uglify-es");
这是我使用这些包的配置的一部分:
optimization: {
minimizer: [new TerserPlugin()],
},
plugins: {
new CopyWebpackPlugin([
{
from: "./node_modules/whatwg-fetch/dist/fetch.umd.js",
to: "./js/polyfills/whatwg-fetch.js",
transform: content => UglifyJS.minify(content.toString()).code,
},
]),
}
因此,我使用terser
最小化我的常见包,并通过uglify
为copy-webpack
插件复制的源提供缩小。我想摆脱uglify
并用terser
替换它,因为它们都被用于缩小。可能吗?可以在terser
配置部分之外使用optimization
插件吗?或者也许我可以通过某种方式告诉他最小化我手动复制的来源?
解决方案结果很简单。由于terser-webpack-plugin
包括terser
,它可以单独使用。
const CopyWebpackPlugin = require("copy-webpack-plugin");
const Terser = require("terser");
并且无需将terser
添加到依赖项列表中!然后我们可以随时使用它:
plugins: {
new CopyWebpackPlugin([
{
from: "./node_modules/whatwg-fetch/dist/fetch.umd.js",
to: "./js/polyfills/whatwg-fetch.js",
transform: content => Terser.minify(content.toString()).code,
},
]),
}