【发布时间】:2018-08-05 05:29:10
【问题描述】:
这个选项在 UglifyJs 插件中不可用是否有原因。我正在按照https://webpack.js.org/plugins/uglifyjs-webpack-plugin/ **
关注文档ValidationError: UglifyJs 插件无效选项
options['ecma'] 是无效的附加属性 options['cacheKeys'] 是无效的附加属性 options['minify'] 是无效的附加属性
package.json
"terser": "^3.8.1",
"uglifyjs-webpack-plugin": "^1.2.7",
"webpack": "^4.16.3",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.5",
"webpack-hot-middleware": "^2.22.3"
webpack.config
minimizer: [
new UglifyJsPlugin({
// Uncomment lines below for cache invalidation correctly
ecma:6,
cache: true,
cacheKeys:(defaultCacheKeys,file) =>{
return Object.assign(
{},
defaultCacheKeys,
{ terser: require('terser/package.json').version },
);
},
minify:(file, sourceMap) => {
// https://github.com/fabiosantoscode/terser#minify-options
const terserOptions = { parse: {
// parse options
},
compress: {
// compress options
"ecma": 6
},
mangle: {
// mangle options
properties: {
// mangle property options
}
},
output: {
// output options
},
sourceMap: {
// source map options
},
ecma: 5, // specify one of: 5, 6, 7 or 8
keep_classnames: false,
keep_fnames: false,
ie8: false,
module: false,
nameCache: null, // or specify a name cache object
safari10: false,
toplevel: false,
warnings: false };
if (sourceMap) {
terserOption.sourceMap = {
content: sourceMap,
};
}
return require('terser').minify(file, terserOptions);
}
})
]
【问题讨论】: