const uglify = require('uglify-js') const through2 = require('through2') /** * @description 压缩内联 wxs 脚本 */ function wxs () { return through2.obj(function (file, _, callback) { if (file.isBuffer()) { file.contents = Buffer.from(file.contents.toString().replace(/([\s\S]+?)<\/wxs>/, (_, $1, $2) => { return `${uglify.minify($2, { fromString: true, mangle: { toplevel: true } }).code}` })) } this.push(file) callback() }) } /** * @description 压缩 json 文件 */ function json () { return through2.obj(function (file, _, callback) { if (file.isBuffer()) { file.contents = Buffer.from(JSON.stringify(JSON.parse(file.contents.toString()))) } this.push(file) callback() }) } module.exports = { wxs, json }