当前位置: 首页 > Web前端 > CSS

3KB博客主页,我该怎么做?

时间:2023-03-30 13:55:29 CSS

这不是充斥网络的“前端音量优化”文章。走得更远!本文以我的博客为例,介绍限制页面体积的技巧和窍门。结果预览眼见为实,我的博客主页网络传输总量为2.6KB。我的博客Repo在kblog-GitHub,喜欢的话,给个Star吧~页面再小,需要精简、不起眼也不足为奇。我需要:单页(SPA)。使用MaterialDesign纹理设计风格。快速构建和加载。没有代码是最好的代码。只有尽可能地减少需求,才能从根本上减少量。所以-只适应较新的浏览器。仅使用核心Markdown语法。部分遵循MaterialDesign并丢弃复杂的功能。前端和生成器都不使用框架。捆绑和缩小捆绑CSS、JS等资源早已成为常识,但我想更进一步,将所有资源(页面本身除外)合并到一个文件中。所以有bundle.js:letavatar=`/*{avatar}*/`;document.head.insertAdjacentHTML("beforeend",`/*{head}*/`);看起来像/*{xxx}*/标记,将替换为需要嵌入的资源。嵌入的内容还可能包含标签,这些标签会不断替换,直到嵌入所有资源。例如,/*{head}*/将替换为head.html:注意,我还嵌入了网站图标。但即使您不需要favicon,您也应该指定一个空白favicon,否则浏览器会自动向/favicon.ico发送一个额外的请求。要嵌入图像,我们通常使用Base64对其进行编码。但是我用的是SVG图标,是文本格式的,所以用encodeURIComponent()转换特殊字符后,可以直接写成data:image/svg+xml,,这样就避免了Base64编码导致体积膨胀。请记住,导入bundle.js的