我正在尝试使用webpack来压缩我的代码(删除新行和空格),而不做其他事情。我不想要任何webpack__require__,没有损坏,没有丑化,只是简单地删除空格和新行。
在terser/webpack中,我必须使用哪些选项来实现这一点?
let bundle = {
mode: 'production',
target: 'web',
entry: path.resolve(__dirname, './res/') + '/bundle.js',
output: {
path: path.resolve(__dirname, './res/'),
filename: 'minified.js',
},
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
ecma: undefined,
warnings: false,
parse: {},
compress: {},
mangle: false,
module: false,
toplevel: false,
keep_classnames: true,
keep_fnames: true,
}
})
]
}
};似乎没有做到这一点。提前谢谢你。
发布于 2020-02-07 00:27:36
根据felismosh对命令行界面的回答,如果您只想删除空格和换行符,则不希望包含--mangle或--compress命令。
所以它更像是:terser original-file.js -o minified-file.js。
除非在CLI命令中明确打开,否则将禁用损坏和压缩。
发布于 2020-07-19 04:17:08
这将禁用压缩,并使用输出选项删除注释。extractComments属性防止插件将注释提取到文本文件。
module.exports = {
/* ... */
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
compress: false,
output: {
comments: false,
},
},
extractComments: false,
}),
],
},
};发布于 2019-06-20 00:58:41
不用webpack直接用terser就行了。运行npm i terser进行安装,您将有两个选择:
使用it's cli,terser --compress --mangle -- input.js.
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);https://stackoverflow.com/questions/56671852
复制相似问题