前言
出于某些安全问题,需要把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,
......
});
未配置前
配置后
最后
这是比较简洁的处理方案,如果后续版本去掉这个配置的话我们要怎么去处理呢? 其实是可以通过打包插件匹配去除或者混淆,方法很多主要还是看项目需求啦😊