GoJs 去水印
此下方法主要是修改了go.js 2.2.9版本的Pa这个函数,通过下面的方式针对水印部分做特殊处理
注意:2.2.9版本是有效的,其他版本未测试,如果不行的话,请按照此方法针对性的做调整即可
在项目跟目录新建文件:removeWatermarkForGoJs.js
内容如下:
const fs = require("fs");
const path = require("path");
const filePaths = [
"./node_modules/gojs/release/go.js",
"./node_modules/gojs/release/go-module.js",
]
filePaths.map(filePath => {
const file = path.join(__dirname, filePath);
fs.readFile(file, "utf8", function (err, data) {
if (err) throw err;
let content = data.replace("String.fromCharCode(a.charCodeAt(g)^b[(b[c]+b[d])%256]);return f",
`String.fromCharCode(a.charCodeAt(g)^b[(b[c]+b[d])%256]);
if (
/GoJS \d\.\d evaluation/.test(f) ||
/? 1998-\d{4} Northwoods Software/.test(f) ||
"Not for distribution or production use" === f ||
"gojs.net" === f
) {
return "";
} else {
return f;
}
`
);
fs.writeFile(file, content, "utf8", (err) => {
if (err) throw err;
console.log('remove gojs watermark success done!!');
});
});
})
修改package.json文件,主要修改scripts部分,代码如下:
"scripts": {
"serve": "node removeWatermarkForGoJs && vue-cli-service serve --copy --port 8088",
"build": "node removeWatermarkForGoJs && vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"test:e2e": "vue-cli-service test:e2e",
"lint": "vue-cli-service lint"
}
重新启动项目,或者重新打包水印就没有了,效果如下: