根据这个链接(简洁的文档) https://webpack.js.org/plugins/terser-webpack-plugin/#terseroptions如果您使用最新的 Webpack 5,则无需安装 Terser 插件,因为它已包含在 Webpack 5 中。然而,我很难让这个工作正常进行。
如果我删除terser-webpack-plugin
从我的packages.json
文件,我尝试像这样使用它(参见下面的 webpack.development.js),我收到如下构建错误:
[webpack-cli] 无法加载“D:\Project\React\MyApp\config\webpack.production.js”配置
[webpack-cli] 错误:找不到模块“terser-webpack-plugin”
webpack.生产.js
const TerserPlugin = require('terser-webpack-plugin');
const webpack = require('webpack');
const { merge } = require('webpack-merge');
module.exports = merge(commonCfg, {
......
optimization: {
minimize: true,
minimizer: [new TerserPlugin({
cache: false,
parallel: false,
sourceMap: true,
})]
},
现在,如果我包括最新的terser-webpack-plugin
我的版本(5.1.1)package.json
并运行我的构建,我收到以下错误消息:
[webpack-cli] 无法加载“D:\Project\React\MyApp\config\webpack.production.js”配置
[webpack-cli] 选项对象无效。 Terser 插件已
使用与 API 不匹配的选项对象进行初始化
架构。
- options 有一个未知属性“sourceMap”。这些属性是有效的:object { test?, include?, except?, terserOptions?,
extractComments?,并行?,缩小? }
我能让这项工作成功的唯一方法就是保持terser-webpack-plugin
在 4.2.X 版本上。
有没有办法让我可以使用最新的 Terser 版本来完成这项工作?或者也许我误解了文档?