uniapp中使用vite-plugin-uni代码混淆

需求:正常情况下,未经混淆压缩过的代码打包后,校验元素时显示如下,这就导致项目整个结构目录暴露在外部,甚至有些隐私信息轻松就可以查到,造成信息泄露风险,极不安全。尤其是to C开放的项目,将未混淆过的代码暴露至外部,风险更甚。

1.官方介绍

uni-app官网

2.代码配置

vite-plugin-uni 是一个用于构建 uni-app 项目的 Vite 插件,它提供了代码混淆的能力。要使用混淆代码,你需要在项目中配置 vite.config.js 文件,并使用 terserOptions 来自定义 Terser 混淆配置。

以下是一个简单的配置示例,展示了如何在 vite.config.js 中使用 vite-plugin-uni 插件来混淆代码:

import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
 
export default defineConfig({
  plugins: [
    uni()
  ],
  build: {
    // 混淆配置
    terserOptions: {
      compress: {
        // 开启混淆
        drop_debugger: true,
        drop_console: true,
        pure_funcs: ['console.log'] // 混淆时保留的方法列表
      },
      // 混淆时保留的全局变量列表
      output: {
        comments: false
      }
    }
  }
});

在这个配置中,compress.drop_debugger 和 compress.drop_console 被设置为 true 以删除所有的 console.log 和 debugger 语句。pure_funcs 数组中可以指定你想要保留的方法,而 output.comments 被设置为 false 以移除混淆后的代码注释。

请注意,这只是混淆的一个基本配置,根据你的项目需求,你可能需要调整 terserOptions 中的其他选项来优化混淆效果。

UniApp 开发微信小程序项目中,Vite 是一个现代化的前端构建工具,它可以帮助你快速构建、热更新和优化代码。如果你从未配置过 `vite.config.js` 文件,你需要创建这个文件并设置一些基本的配置项,以下是创建及配置 `vite.config.js` 的步骤: 1. 首先,在项目的根目录下(通常是 `.vue` 或者 `uni-app` 目录),新建一个名为 `vite.config.js` 的文件。 2. **基础配置**: ```js // vite.config.js import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; const isUniApp = process.env.UNI_APP === 'true'; // 检查是否为UniApp环境 export default defineConfig({ plugins: [vue()], build: { target: 'esnext', // 设定目标环境为 ES6 或更高版本 rollupOptions: { input: ['src/main.js'], // 主入口文件路径 output: { filename: 'bundle.js', // 输出文件名 format: 'iife', // 使用立即执行函数包裹,适合小程序环境 }, }, minify: isUniApp ? false : true, // UniApp环境下一般不需要压缩 }, }); ``` 这里配置了 Vue 插件,并设置了构建目标、入口文件和输出格式。 3. **环境检查**: 判断当前环境是否为 UniApp 项目,因为 UniApp 对于打包可能有特定的要求,如不需要进行混淆等。这只是一个示例,你可以根据实际需求调整。 4. **启动和热更新**: 跑起 Vite 服务以便开发阶段的自动刷新,可以使用命令行: ```sh npm run dev ``` 5. **构建部署**: 当你准备好发布到微信小程序时,使用构建命令: ```sh npm run build ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木易66丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值