2022年vue项目使用go.js 2.1去水印

本文介绍了在2022年的Vue.js项目中,如何针对Go.js 2.1版本有效去除水印的解决方案。作者在尝试多种方法无效后,分享了从社区找到的成功策略,包括项目环境(Vue 2.6+,Go.js 2.1.55)以及具体在项目根目录创建特定loader的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

网上找了一大堆去除 gojs 水印的方法,要么针对新版已经失效(搜关键字7eba17a4ca3b1a8346,搜不到),要么是修改 node_modules 中的文件(CI\CD构建发版到生产环境无效)。
无意中看到一个老哥通过写 webpack loader 的方案解决,觉得很棒,记录下我的代码。

项目环境

vue 2.6 + vue cli
go.js版本:2.1.55

解决方案

根目录新建一个 loader 目录,在loader目录下创建 gojs-hack-loader.js 文件,代码如下:

const pattern = /String\.fromCharCode\(a\.charCodeAt\(g\)\^b\[\(b\[c\]\+b\[d\]\)%256\]\);/gm;

const hack = `String.fromCharCode(a.charCodeAt(g)^b[(b[c]+b[d])%256]);if(f.indexOf('GoJS 2.1 evaluation')>-1|| f.indexOf('(c) 1998-2021 Northwoods Software')>-1|| f.indexOf('Not for distribution or production use')>-1|| f.indexOf('gojs.net')>-1){return '';}else{return f};`;

module.exports = function(source) {
  const index = source.search(pattern);
  if (index < 0) {
    throw new Error('gojs hack failed');
  }

  return source.replace(pattern, hack);
};

vue.config.js 中的chainWebpack配置中添加自己写的loader

chainWebpack: config => {
	...
    // go.js 去水印
    config.module
      .rule('gojs-hack')
      .test(/go.js/)
      .use('./loader/gojs-hack-loader')
      .loader('./loader/gojs-hack-loader')
      .end();
 }

参考文章
https://blog.youkuaiyun.com/weixin_41611635/article/details/120017814
https://www.cnblogs.com/languanghao/p/12868170.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值