当前位置:
首页 > temp > JavaScript教程 >
-
vue项目配置 webpack-obfuscator 进行代码加密混淆
背景
公司代码提供给第三方使用,为了不完全泄露源码,需要对给出的代码进行加密混淆,前端代码虽然无法做到完全加密混淆,但是通过使用
webpack-obfuscator
通过增加随机废代码段、字符编码转义等方法可以使构建代码完全混淆,达到无法恢复源码甚至无法阅读的目的。
安装
webpack-obfuscator
https://www.npmjs.com/package/webpack-obfuscator
配置
vue cli
项目配置:
若只想在打包时加密混淆,本地运行时不混淆,可以进行以下的配置:
vue cli 2.x
配置在webpack.prod.conf.js
中
构建
构建文件对比
1. 原始文件
2. webpack
默认工具uglifyjs-webpack-plugin
3. webpack-obfuscator
无参数时
4. webpack-obfuscator
高度混淆
低性能:性能比没有模糊处理慢 50-100%
构建后文件大小: 29,999 字节(29.2 KB)
3. webpack-obfuscator
中等混淆
最佳性能:性能比没有模糊处理慢 30-35%
构建后文件大小:7066字节(6.90kb)
4. webpack-obfuscator
低混淆
高性能: 性能稍微慢于没有混淆
构建后文件大小: 2,424 字节(2.36 KB)
对比表格
文件名称 | 文件大小 | 正常构建 | 无参数 | 高度混淆 | 中度混淆 | 低度混淆 |
---|---|---|---|---|---|---|
test.js |
117字节 |
177字节 |
363字节 |
29.2 KB(29,999 字节) |
6.90KB(7066字节) |
2.36 KB(2,424 字节) |
jquery.js |
111 KB (113,852 字节) |
85.0 KB (87,064 字节) |
115 KB (117,770 字节) |
1.24 MB (1,304,998 字节) |
401 KB (411,543 字节) |
117 KB (120,243 字节) |
主要属性
注意
-
安装
webpack-obfuscator
时要注意webpack-obfuscator
的版本要与本地项目webpack
版本相匹配,我用的是webpack-obfuscator@0.18.0
项目webpack
是4.x
版本。(4.x版
本webpack
使用最新版webpack-obfuscator@3.3.0
会报错无法使用,webpack
杳升级到5.x
版本)。 -
excludes数组
的兼容multimatch包语法
,例如支持['js/chunk-vendors.**.js']
、['excluded_bundle_name.js', '**_bundle_name.js']
或'excluded_bundle_name.js'
等。
文章地址:https://www.cnblogs.com/dragonir/p/14445767.html 作者:dragonir
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数