首页 > 其他分享 >vite+vue3 打包代码混淆

vite+vue3 打包代码混淆

时间:2024-02-27 11:22:40浏览次数:25  
标签:混淆 false plugin obfuscator rollup ts vue3 true vite

产品化最后一道防线,项目上线前打包时,前端代码混淆。

和webpack相比,vite生态还是不够丰富,找个打包代码混淆插件好难,好在找到了rollup-plugin-obfuscator

不废话,上代码


1、安装代码混淆插件rollup-plugin-obfuscator

yarn add --dev rollup-plugin-obfuscator javascript-obfuscator

或者

npm install --save-dev rollup-plugin-obfuscator javascript-obfuscator

2、添加obfuscator.ts,在index.ts引入插件调用方法

  • obfuscator.ts文件
import obfuscator from 'rollup-plugin-obfuscator';
export function codeObfuscatorPlugin(isBuild: boolean) {
  if (!isBuild) {
    return [];
  }
  return obfuscator({
    global: true,
    options:{
        rotateUnicodeArray: true,
        compact: true,
        controlFlowFlattening: false,
        controlFlowFlatteningThreshold: 0.4,
        deadCodeInjection: false,
        deadCodeInjectionThreshold: 0.2,
        debugProtection: true,
        debugProtectionInterval: 2000,
        disableConsoleOutput: true,
        domainLock: [],
        identifierNamesGenerator: 'hexadecimal',
        identifiersPrefix: '',
        inputFileName: '',
        log: false,
        renameGlobals: false,
        reservedNames: [],
        reservedStrings: [],
        rotateStringArray: false,
        seed: 0,
        selfDefending: true,
        sourceMap: false,
        sourceMapBaseUrl: '',
        sourceMapFileName: '',
        sourceMapMode: 'separate',
        stringArray: false,
        stringArrayEncoding: ['base64'],
        stringArrayThreshold: 0.8,
        target: 'browser',
        transformObjectKeys: false,
        unicodeEscapeSequence: false,
      }
  })
}
  • index.ts引入

  • vite.config.ts引入代码混淆插件

3、上线部署后,一打开console面板,直接禁用debugger

以上,搞定,收工!

标签:混淆,false,plugin,obfuscator,rollup,ts,vue3,true,vite
From: https://www.cnblogs.com/midnight-visitor/p/18036510

相关文章

  • Vue3 [1] Vite + element-plus +Vue3 项目搭建、"@"别名设置
    1.环境准备node官网npm切换国内npm源镜像npmconfigsetregistryhttps://registry.npmmirror.com查看当前的镜像源npmconfiggetregistryvscode插件扩展包VueVolarextensionPack2.项目初始化本项目使用vite进行构建,vite官方中文文档参考:cn.......
  • Vue3学习(十九) - TreeSelect 树选择
    写在前面我知道自己现在的状态很不好,以为放个假能好好放松下心情,结果昨晚做梦还在工作,调试代码,和领导汇报工作。天呐,明明是在放假,可大脑还在考虑工作的事,我的天那,这是怎么了?Vue页面参数传递1、任务拆解页面跳转时带上当前电子书id参数ebookId新增/编辑文档时,读取电子书id......
  • Java代码混淆工具:ProGuard
    前言java代码可以反编译,因此有时候要保护自己的知识产权还得费点心思,一般来说有三个思路:将class文件加密,这个是最安全的,但也费事儿,因为要重写classloader来解密class文件,Lombok库就是使用的这种方式(lombok.launch.ShadowClassLoader)。使用花指令,使得class文件不能反编译(利用......
  • Node安装及创建Vite项目
    1.安装node进入官网下载:Node.js(nodejs.org) 选择安装路径后,默认安装;确认是否成功安装: 2.创建vite项目npminitvite-apptestvite 3.启动cdtestvitenpmrundev 4.确认 ......
  • vite+vue3 import批量导入图片
    vite+vue3import批量导入图片主要使用“import.meta.glob”方法。具体使用如下:1.constlist=import.meta.glob("../../static/images/left-image/*.*",{eager:true})2.imageList=Object.values(list).map((v:any)=>v.default);3.页面使用   ......
  • 详细vite创建vue3项目(vue3+vue-router+ts+vite+element-plus+pinia)
    详细vite创建vue3项目(vue3+vue-router+ts+vite+element-plus+pinia):https://blog.csdn.net/qq_44423029/article/details/126378199?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170891147716800185818285%2522%252C%2522scm%2522%253A%252220140713.130102334..%2......
  • vue3+vite使用vue-pdf-embed或者pdf-vue3预览 PDF 文件(能躲避 XSS 攻击,需要 pdf 文件
    1.使用vue-pdf-embed1.npm安装所需插件[email protected]@0.1.62.封装组件(创建pdfPriview.index文件)<template><divclass="pdf-preview"> <vue-pdf-embed :source="state.source" v-for="pageinstate......
  • 【教程】 iOS混淆加固原理篇
     摘要本文介绍了iOS应用程序混淆加固的缘由,编译过程以及常见的加固类型和逆向工具。详细讨论了字符串混淆、类名、方法名混淆、程序结构混淆加密等加固类型,并介绍了常见的逆向工具和代码虚拟化技术。 引言在iOS开发中,为了保护应用程序免受逆向工程和反编译的威胁,需要对应......
  • 使用defineAsyncComponent解决Vue3中的动态组件不显示问题
    参考:https://www.php.cn/faq/562208.html之前的写法<component:is='xxx'></component>异步加载组件<template><AsyncComponentv-if="item.data":key="item.data.comId"></AsyncComponent></template>&......
  • Vue3学习(十八) - TreeSelect 树选择
    写在前面本以为可以在家学习一天,结果家里来了客人拜年,就没学习上,有点小遗憾吧。昨天完成从分类管理的前后端代码复制出文档管理的前后端代码,遗留问题是只能选择一级父分类。值得说的是,昨晚的遗留的问题修复了,开心。遗留问题点击父文档,弹出警告,从报错来看那意思就是parent应该......