umi项目中的一些趣事

前言

出于某些安全问题,需要把HTML中框架注入的umi版本信息去掉,那要怎么搞呢~

方案

查找官方文档,没发现可以去掉注入信息的方法,但在一番折腾后😉终究还是解决了~

发现

版本信息是从这里注入的~

复制代码
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

.......

var _default = api => {
  api.addHTMLHeadScripts(() => [{
    content: `//! umi version: ${process.env.UMI_VERSION}`
  }]);
  api.addEntryCode(() => `
    window.g_umi = {
      version: '${process.env.UMI_VERSION}',
    };
  `);
};

解决

复制代码
export default defineConfig({
  hash: true,
  routes,
  umiInfo: false,
  title: 'Ant Design Pro',
  access: {},
  publicPath: './',
  antd: {},
  access: {},
  request: {},
  mfsu: {},
  fastRefresh: true,
  ......
});

未配置前

配置后

最后

这是比较简洁的处理方案,如果后续版本去掉这个配置的话我们要怎么去处理呢? 其实是可以通过打包插件匹配去除或者混淆,方法很多主要还是看项目需求啦😊

相关推荐
无羡仙1 分钟前
Vue插槽
前端·vue.js
哈__15 分钟前
React Native 鸿蒙跨平台开发:PixelRatio 像素适配
javascript·react native·react.js
用户6387994773051 小时前
每组件(Per-Component)与集中式(Centralized)i18n
前端·javascript
SsunmdayKT1 小时前
React + Ts eslint配置
前端
开始学java1 小时前
useEffect 空依赖 + 定时器 = 闭包陷阱?count 永远停在 1 的坑我踩透了
前端
zerosrat1 小时前
从零实现 React Native(2): 跨平台支持
前端·react native
狗哥哥1 小时前
🔥 Vue 3 项目深度优化之旅:从 787KB 到极致性能
前端·vue.js
青莲8431 小时前
RecyclerView 完全指南
android·前端·面试
青莲8431 小时前
Android WebView 混合开发完整指南
android·前端·面试
GIS之路1 小时前
GDAL 实现矢量数据转换处理(全)
前端