(可选)首先babel转码
npx bable xxx.js -o xxx.js
js防盗babel并压缩
const fs = require('fs')
const obfuscator = require('javascript-obfuscator')
let file = fs.readFileSync('./BlockManager.js', "utf8");
function obfuscate(code, options) {
return obfuscator.obfuscate(code, options).getObfuscatedCode()
}
let result = obfuscate(file, {
transformObjectKeys:true,
// 防止代码美化,美化后的代码会执行死循环
selfDefending: true
});
// 一些特殊的属性不会被转码,需要手动处理一遍
let replaces = [/points/g, /point/g, /startup/g, /reset/g, /variable/g, /children/g, /callbacks/g, /distance/g, /'start'/g, /'end'/g]; // /callback/g, /selector/g, /start/g,
let replaced = ['qm32ds', 'cv18ik', 's2d4zz', 'kmi8xc', 'hb657', 'si88n', 'rf19oi', 'pm99x8', "'mm53tg'", "'erxx63'"]; // 'uv93ik', 'lll3sz', 'mm53tg'
replaces.forEach((reg, i) => { result = result.replace(reg, replaced[i])});
fs.writeFileSync('./BlockManager.js', result, "utf8");
压缩采用vscode的MinifyAll插件
360浏览器canvas元素 opacity为0时
teche四目官网项目,ip65动画块中,canvas上画视频,并从opacity0到1,在开始的一瞬间会发生阻塞,猜想原因在于360浏览器对opacity为0的元素做了特殊处理