3 回答

TA贡献1951条经验 获得超3个赞
只是建立在felismosh的回答对你将要CLI将不包括--mangle
或--compress
命令,如果你想要做的就是删除空格和换行。
所以它会更像: terser original-file.js -o minified-file.js
.
除非在 CLI 命令中明确打开,否则 Mangle 和 compress 将被禁用。

TA贡献1883条经验 获得超3个赞
这将禁用压缩并使用输出选项来删除注释。该extractComments属性可防止插件将注释提取到文本文件中。
module.exports = {
/* ... */
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
compress: false,
output: {
comments: false,
},
},
extractComments: false,
}),
],
},
};

TA贡献2036条经验 获得超8个赞
直接使用 terser 无需 webpack。运行npm i terser安装它,然后您将有2个选择:
使用它的 cli, terser --compress --mangle -- input.js.
使用它的 api 来自节点,
const Terser = require('terser');
const code = {
'file1.js': 'function add(first, second) { return first + second; }',
'file2.js': 'console.log(add(1 + 2, 3 + 4));',
};
const options = {
ecma: undefined,
warnings: false,
parse: {},
compress: {},
mangle: false,
module: false,
toplevel: false,
keep_classnames: true,
keep_fnames: true,
};
const result = Terser.minify(code, options);
console.log(result.code);
添加回答
举报