背景

网上找了一大堆去除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.csdn.net/weixin_41611635/article/details/120017814
https://www.cnblogs.com/languanghao/p/12868170.html

2022年vue项目使用go.js 2.1去水印相关推荐

  1. 前端vue项目(使用pdf.js) pdf展示及pdf工具栏放大缩小功能实现

    前端vue项目(使用pdf.js) pdf展示及pdf工具栏放大缩小功能实现 1.vue项目pdf展示 2.pdf工具栏放大缩小功能 文章目录 前端vue项目(使用pdf.js) pdf展示及pdf工 ...

  2. Vue项目打包后js文件压缩

    前言 这段时间因为免费试用了https://free.aliyun.com/一台阿里云的服务器,配置是 2核4G 2M, 因为带宽太低了,每次在第一次加载的时候太慢了,通过F12调试,发现主要是因为加 ...

  3. vue项目 报sockjs.js?9be2:1606 GET http://192.168.43.226:8080/sockjs-node/info?t=1584966826465 net::ERR_

    在做vue项目时,突然就报sockjs.js?9be2:1606 GET http://192.168.43.226:8080/sockjs-node/info?t=1584966826465 net ...

  4. Vue 项目Active Reports JS PDF乱码解决

    ActiveReportsJS PDF 导出需要注册字体,因为它将其子集嵌入到PDF文档中.因此,确保所有环境中报表输出一致的最佳方法是配置ActiveReportsJS组件以访问可下载的字体资源.本 ...

  5. php vue pdf预览,Vue项目使用pdf.js

    前段时间有个支持在线学习功能的项目,有需要在线预览pdf格式课件的功能,我就想在线预览pdf多简单,因为大部分浏览器都支持打开pdf文件,所以直接放个iframe然后src是pdf文件的地址不就行了吗 ...

  6. vue项目中,js根据文件名后缀,判断文件图片、视频、文档、pdf等类型的方法

    vue项目中,在获得文件名信息,需要根据文件名的后缀来区分文件类型的方法如下:其中,文件后缀可自由拓展. // 根据文件名后缀区分 文件类型/** @param: fileName - 文件名称* @ ...

  7. vue项目落地(qiankun.js)微前端服务

    什么是微前端? 网上抄的: 微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体应用转变为多个小型前端应用聚合为一的应用.各个前端应用还可以独立开发.独立部署 ...

  8. vue项目使用Print.js插件实现PDF文件打印

    一,Print.js介绍 Print.js主要是为了帮助我们在应用程序中直接打印PDF文件,而不需要离开界面,也不需要使用嵌入.对于用户不需要打开或下载PDF文件的特殊情况,只需要打印即可. 例如,当 ...

  9. vue项目使用公共js方法@令狐张豪

    我们在做项目中会用到很多js方法,然后有些方法是通用的我们需要进行封装使用 在src下创建utils目录并创建utils.js文件 utils.js文件 export default {//判断手机机 ...

最新文章

  1. 华人一作登ICCV 2021,实时超分新SOTA!AutoML显神威:1%参数量,超清视频70倍加速...
  2. postman 并发测试
  3. 基于STM32分析栈、堆、全局区、常量区、代码区、RAM、ROM
  4. 数据类型及pythop运算符号
  5. boost::geometry模块自定义指针到点示例
  6. android怎么查看方法被谁调用,Android中查看布局文件中的控件(view,id)在哪里被调用(使用)...
  7. 运维管理中的制度和流程
  8. 微信机器人,微信聊天机器人搭建教程附源代码
  9. Keil下载代码闪退的问题(已解决)
  10. 隐马尔可夫模型简单介绍
  11. win10 windows 键(徽标键) 失效解决办法
  12. 推荐算法之基于物品的协同过滤
  13. SICK 单线激光雷达LMS511
  14. 浅谈PHP代码执行的大致流程(opcode)
  15. python压缩图片像素_python使用pil进行图像处理(等比例压缩、裁剪)实例代码
  16. Farey sequences
  17. IE7下li Bug
  18. 腾讯WeMap,一颗“孢子”的数智化之旅
  19. GSEA富集分析 - 界面操作
  20. VB6 运行时错误‘374’ 激活控件‘VB.UserControl’失败

热门文章

  1. TOPSIS和熵权法的应用(Matlab实现,包括数据预处理)
  2. Portapack应用开发教程(十二) SSTV接收机 B
  3. idea自动生成bean实体对象
  4. 对展开运算符和object.assign()的理解
  5. c++ memcpy内存拷贝
  6. 国际短信平台接口调用的方法步骤,简单5步快速教程
  7. 使用matlab对图像进行傅里叶变换
  8. response.setHeader各种用法
  9. linux下rsync命令,Linux下rsync命令用法
  10. 基于人脸识别的考勤系统:Python3 + Qt5 + OpenCV3 + FaceNet + MySQL