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

未配置前

配置后

最后

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

相关推荐
前端百草阁5 分钟前
【TS简单上手,快速入门教程】————适合零基础
javascript·typescript
彭世瑜6 分钟前
ts: TypeScript跳过检查/忽略类型检查
前端·javascript·typescript
FØund4047 分钟前
antd form.setFieldsValue问题总结
前端·react.js·typescript·html
Backstroke fish7 分钟前
Token刷新机制
前端·javascript·vue.js·typescript·vue
zwjapple7 分钟前
typescript里面正则的使用
开发语言·javascript·正则表达式
小五Five8 分钟前
TypeScript项目中Axios的封装
开发语言·前端·javascript
小曲程序8 分钟前
vue3 封装request请求
java·前端·typescript·vue
临枫5419 分钟前
Nuxt3封装网络请求 useFetch & $fetch
前端·javascript·vue.js·typescript
酷酷的威朗普10 分钟前
医院绩效考核系统
javascript·css·vue.js·typescript·node.js·echarts·html5
前端每日三省10 分钟前
面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们?
开发语言·前端·javascript