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,
  ......
});

未配置前

配置后

最后

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

相关推荐
钛态7 小时前
Vite 中的 CSS 工程化:从 CSS Modules 到 UnoCSS 的渐进式迁移
前端·vue·react·web
Csvn9 小时前
原型链、this 与闭包内存:三座深水区一次打通(含内存泄漏排查实战)
前端·javascript
葡萄城技术团队9 小时前
如何通过 JSON 数据源 / Web API 快速构建轻量级报表(Report)?
前端·json·原型模式
万维易源9 小时前
趣味项目素材|免费脑筋急转弯查询接口实战接入教程
javascript·免费api·脑筋急转弯查询·脑筋急转弯接口
浪兎兎9 小时前
【Java Web】Servlet + JSP 笔记
java·前端·servlet
Patrick_Wilson10 小时前
iOS Safari Clipboard API 权限弹窗问题
前端·ios·safari
OpenTiny社区11 小时前
Naive UI × GenUI SDK:自定义物料库搭建实战
前端·ai编程
kyriewen11 小时前
我拿 4 个真实前端任务试了 GLM-5.3 Flash:代码一遍跑通,账单 4 分钱
前端·程序员·ai编程
IT_陈寒11 小时前
Vue的响应式更新有时候真的不听话
前端·人工智能·后端